`
cdguiyi
  • 浏览: 15909 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

openlayers3应用(一):调用百度在线地图

阅读更多

    在项目中使用百度地图,最直接的方式是使用百度api,但是使用百度api需要申请key,并且某些功能调用有次数限制。

本文讲述在openlayers3中使用百度地图的方法。调用百度地图,也是经过了几番周折

贴上显示代码,以免其他人调用百度地图走弯路。效果如下:

 

 代码如下:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
    <link rel="stylesheet" type="text/css" href="ol/ol3/css/ol.css" />
    <style type="text/css">
        body, #mainMap {
            border: 0px;
            margin: 0px;
            padding: 0px;
            width: 100%;
            height: 100%;
            font-size: 13px;
        }
    </style>
    <script type="text/javascript" src="ol/ol3/build/ol-debug.js"></script>

</head>
<body>

    <div id="mainMap">

    </div>

</body>
</html>
<script type="text/javascript">

    var projection = ol.proj.get("EPSG:3857");
    var resolutions = [];
    for (var i = 0; i < 19; i++) {
        resolutions[i] = Math.pow(2, 18 - i);
    }
    var tilegrid = new ol.tilegrid.TileGrid({
        origin: [0, 0],
        resolutions: resolutions
    });

    var baidu_source = new ol.source.TileImage({
        projection: projection,
        tileGrid: tilegrid,
        tileUrlFunction: function (tileCoord, pixelRatio, proj) {
            if (!tileCoord) {
                return "";
            }
            var z = tileCoord[0];
            var x = tileCoord[1];
            var y = tileCoord[2];

            if (x < 0) {
                x = "M" + (-x);
            }
            if (y < 0) {
                y = "M" + (-y);
            }

            return "http://online3.map.bdimg.com/onlinelabel/?qt=tile&x=" + x + "&y=" + y + "&z=" + z + "&styles=pl&udt=20151021&scaler=1&p=1";
        }
    });

    var baidu_layer = new ol.layer.Tile({
        source: baidu_source
    });

    var map = new ol.Map({
        target: 'mainMap',
        controls: ol.control.defaults().extend([
               new ol.control.MousePosition({ projection: 'EPSG:4326' })
        ]),
        layers: [baidu_layer],
        view: new ol.View({
            center: ol.proj.transform([104.06, 30.67], 'EPSG:4326', 'EPSG:3857'),
            zoom: 4
        })
    });
</script>

 

 

  • 大小: 123.9 KB
0
0
分享到:
评论

相关推荐

    openlayers 调用百度地图

    在OpenLayers中调用百度地图是一项常见的需求,特别是在构建Web GIS应用时,用户可能希望结合OpenLayers的强大功能和百度地图的丰富数据。OpenLayers是一个开源JavaScript库,用于创建交互式的地图应用,而百度地图...

    openlayers加载本地离线地图瓦片(重新发2018-10-23)

    确保这两个文件正确引用和配置,是成功运行OpenLayers应用的关键。 5. **JavaScript和库文件**:`ol-debug.js`和`ol.js`是OpenLayers库的不同版本。`ol-debug.js`包含调试信息,对于开发和问题排查很有帮助;`ol.js...

    openlayers仿百度ZoomSlider插件

    通过这样的方式,OpenLayers应用可以拥有与百度地图类似的ZoomSlider,使得用户在浏览地图时能更轻松地进行缩放操作。这个插件不仅提升了用户体验,也体现了OpenLayers的可扩展性和定制性,使得开发者可以根据实际...

    openlayers加载本地离线底图瓦片google数据直接运行即可(亲测)

    OpenLayers是一个强大的JavaScript库,专门用于在Web页面上创建交互式的地图应用。这个库支持多种地图源,包括Google Maps,使得开发者可以在没有网络连接的情况下,也能展示地图数据。 本案例的主题是“openlayers...

    百度地图系列01——最简单的调用百度地图

    以上就是最简单的调用百度地图的基本步骤。在实际开发中,你还可以利用百度地图SDK提供的更多功能,如路径规划、地理编码、信息窗口、覆盖物动画等,来实现更复杂的应用场景。通过不断学习和实践,你可以打造出功能...

    web-demo-v3, 百度地图鹰眼web轨迹管理台V3.zip

    【标题】"web-demo-v3, 百度地图鹰眼web轨迹管理台V3.zip" 指的是一个开源项目,它提供了用于管理和展示轨迹数据的Web应用示例。这个项目是百度地图鹰眼服务的一个版本,专为Web平台设计,帮助用户在网页上便捷地...

    类似百度地图做法

    对于类似百度地图的应用,我们可能需要使用开源库如Leaflet或OpenLayers,它们提供了丰富的API来帮助开发者构建地图应用。这些库已经集成了地图服务提供商的数据接口,例如高德地图、谷歌地图或百度地图的API,能够...

    百度地图切图工具BaiduMapTileCutter

    BaiduMapTileCutter是一款专用于处理百度地图的切图工具,它能够帮助用户快速地将百度地图的高分辨率图像切割成多个小的正方形瓦片(通常称为“Tile”),这些瓦片以特定的层级和坐标系统进行组织,便于在网络地图...

    MapDownloader

    特别的是,MapDownloader还能够与流行的开源JavaScript库OpenLayers 3/4无缝集成,这对于需要构建离线地图应用的开发者来说,是一个非常实用的解决方案。 首先,我们要理解MapDownloader是如何工作的。...

    webgis地图开发

    同时,对于百度地图API和高德地图API,也需要阅读相应的开发者文档,了解如何获取API密钥、如何调用服务等。 总的来说,"webgis地图开发"是一个涵盖Web开发、GIS技术、JavaScript库运用以及第三方地图服务集成的...

    geoserver_OpenLayers_安装配置2.0.2

    GeoServer 是一个开源的地理信息系统(GIS)服务器,它能够发布和管理地理空间数据,并提供Web服务接口供其他应用调用。OpenLayers 是一个流行的JavaScript库,用于在Web上创建交互式地图。在这个教程中,我们将详细...

    JavaScript实现鼠标移到地图上显示实际地理坐标

    在JavaScript编程领域,地图应用开发是一项常见的任务,尤其在地理信息系统(GIS)中。本教程将深入探讨如何利用SuperMap iClient 6R for JavaScript库来实现一个功能,即当鼠标移动到地图上时,实时显示当前鼠标的...

    gaibian.rar_地图

    用户可以通过在地图界面上划定矩形区域来实现局部放大的功能,这种功能常见于各种地图应用中,如谷歌地图、百度地图等。 在GIS领域,地图放大通常是通过调整地图的缩放级别来完成的。缩放级别决定了地图的细节显示...

    百度路书轨迹回放实例

    这个实例可能是基于百度地图API实现的一个应用,旨在帮助用户跟踪、分析和重现过去的移动路径。下面我们将深入探讨这个话题,以及与之相关的技术点。 1. **百度地图API**: 百度地图API是百度提供的一套Web服务...

    threejs文件包,uniapp 里使用 echarts、threejs、地图插件等

    地图插件的集成可能涉及到像百度地图API或高德地图API这样的服务。在uni-app中,开发者可以调用这些API获取地图数据,然后利用Three.js将地图数据转化为3D形式。这样,用户不仅可以查看地图,还可以在三维空间中浏览...

    太乐地图下载器V4.6破解+步骤

    支持对下载地图的ArcGIS缓存格式,谷歌金字塔切片格式,百度切片格式、我们的自有格式azdb进行本机离线浏览,并支持调用谷歌地图离线API、百度地图离线API进行B/S方式离线浏览 15.影像金字塔构建。更快速的在第三方...

    多边形圆形矩形等多种图形绘制

    常见的地图插件有Google Maps API、Leaflet、OpenLayers等,它们都提供了丰富的API和文档供开发者调用和学习。 HTML5是现代网页开发的标准,它的Canvas元素是实现动态图形绘制的核心。Canvas是一个二维绘图上下文,...

    点击地图获取经纬度.rar

    1. 地图API:大多数地图服务提供商,如谷歌地图、高德地图、百度地图等,都提供了API供开发者使用。这些API通常包括JavaScript库,允许在网页或应用中嵌入地图,并通过用户交互获取点击位置的经纬度。例如,谷歌地图...

    附近商家多门店地图导航 1.4.7,地图怎么添加门店导航,PHP

    3. **前端技术**:包括HTML5、CSS3和JavaScript,尤其是JavaScript的地理定位API和地图库(如Leaflet、OpenLayers等),用于在网页上展示地图和实现交互功能。 4. **多店铺管理**:数据库设计中需要考虑如何存储和...

Global site tag (gtag.js) - Google Analytics