openLayers加载高德地图

之前用openlayers对高德,百度,腾讯,bing,supermap,天地图,arcgis,google等地图进行了对接,今天简单介绍一下openlayers+高德:

在Openlayers.Layer.XYZ.js中有如下更改:(百度兴趣点下载工具:http://www.cnblogs.com/songjiang6940/p/baiduPOI.html)

 1      * bounds - {<OpenLayers.Bounds>}
 2      *
 3      * Returns:
 4      * {String} A string with the layer's url and parameters and also the
 5      *          passed-in bounds and appropriate tile size specified as
 6      *          parameters
 7      */
 8     getURL: function (bounds) {
 9         var xyz = this.getXYZ(bounds);
10         var url = this.url;
11         if (OpenLayers.Util.isArray(url)) {
12             var s = '' + xyz.x + xyz.y + xyz.z;
13             url = this.selectUrl(s, url);
14         }
15         
16         return OpenLayers.String.format(url, xyz);
17     },
18     
19     /**
20      * Method: getXYZ
21      * Calculates x, y and z for the given bounds.
22      *
23      * Parameters:
24      * bounds - {<OpenLayers.Bounds>}
25      *
26      * Returns:
27      * {Object} - an object with x, y and z properties.
28      */
29     getXYZ: function(bounds) {
30         var res = this.getServerResolution();
31         var x = Math.round((bounds.left - this.maxExtent.left) /
32             (res * this.tileSize.w));
33         var y = Math.round((this.maxExtent.top - bounds.top) /
34             (res * this.tileSize.h));
35         var z = this.getServerZoom();
36 
37         if (this.wrapDateLine) {
38             var limit = Math.pow(2, z);
39             x = ((x % limit) + limit) % limit;
40         }
41 
42         return {'x': x, 'y': y, 'z': z};
43     },

 

posted @ 2014-11-22 17:57  微创业工作室  阅读(5154)  评论(0编辑  收藏  举报