使用google map API呈现的地图,最大级别只能呈现19级,而实际上,google对外最大提供22级别的地图,通过网址:http://mt3.google.cn/vt/v=w2.119&hl=zh-CN&gl=cn&x="+column+"&y="+row+"&z="+(level-1)+"&s=" 可以获得google地图的瓦片,各参数的含义为:x 为此瓦片所在的横坐标地址,y为此瓦片所在的纵坐标,z为缩放级别,至于x 和y 的值如何算出来,可以参考其他资料,我也会在专门的一篇博文中进行介绍。
比如在地址栏中输入:
http://mt3.google.cn/vt/v=w2.119&hl=zh-CN&gl=cn&x=0&y=0&z=22&s= 仍可以获得图片。
如果不满足只使用google map 级别的地图,或者想自定义地图类型,此时就需要扩展google map API中的GProjection()接口,下面开始贴代码:
var Cditu = new GCopyright(1, new GLatLngBounds(new GLatLng(-90,-180),new GLatLng(90,180) ),0,"google map");
var copyright = new GCopyrightCollection("");
copyright.addCopyright(Cditu);
var dituTileLayer = new GTileLayer(copyright, 0, 22);
dituTileLayer.getTileUrl = function(tile, zoomlevel,x) { url = G_NORMAL_MAP.getTileLayers()[0].getTileUrl(tile,zoomlevel,x);
return url;
};
function dituProjection(){}
dituProjection.prototype = new GProjection();
dituProjection.prototype.fromLatLngToPixel = function(latlng, zoom){
return (G_NORMAL_MAP.getProjection()).fromLatLngToPixel(new GLatLng(latlng.lat(),latlng.lng()),zoom);
};
dituProjection.prototype.fromPixelToLatLng = function(pixel,zoom,unbounded)
{
var latlng = (G_NORMAL_MAP.getProjection()).fromPixelToLatLng(pixel,zoom,unbounded);
return latlng;
}
dituProjection.prototype.tileCheckRange = function(tile, zoom, tilesize)
{
return (G_NORMAL_MAP.getProjection()).tileCheckRange(tile,zoom,tilesize);
}
dituProjection.prototype.getWrapWidth = function(zoom)
{
return (G_NORMAL_MAP.getProjection()).getWrapWidth(zoom);
}
var ditu = new GMapType([dituTileLayer],
new dituProjection(),
"Ditu",
{ shortName: "ditu", alt: "layer from ditu.google.com" }
);
分享到:
相关推荐
type: true,// 选填--是否显示地图类型--(默认false) width: 320,// 选填--信息窗口width--(默认自动调整) height: 70,// 选填--信息窗口height--(默认自动调整) icon: { // 选填--自定义icon图标 url: "img/...
通过自定义标注覆盖物,你可以在地图上添加各种类型的标记,如图标、文字、线条等,以丰富地图展示的内容。相比于普通的地图标注,自定义标注覆盖物具有更高的灵活性和可定制性。 使用百度地图的API,你可以定义...
高德地图 API POI 分类编码表,地理编码/逆地理编码 API 是通过 HTTP/HTTPS 协议访问远程服务的接口,提供结构化地址与经纬度之间的相互转化的能力。 结构化地址的定义: 首先,地址肯定是一串字符,内含国家、省份...
直接 import 然后使用 TileSourceColor.getSource (图层对象,类型) 即可。 let layer = new LayerTile({ name: "天地图矢量图层", source: //天地图资源 }); layer = new ImageLayer({ name: "天地图矢量...
百度、高德、腾讯、天地图、谷歌、必应等自定义地图/图片叠加层/瓦片图/金字塔图地图切图高清切片生成工具 MapCutter(旧名MapTiler) ,定位便捷,支持超大地图,支持leaflet、maptalks、openlayers、cesium、及...
添加删除地图类型、缩略图控件 添加第三方版权控件 添加自定义控件 覆盖物示例 添加删除覆盖物 设置点的弹跳动画 设置点的新图标 设置点是否可拖曳 设置线面可编辑 设置覆盖物显示隐藏 添加文字标签 设置覆盖物文字...
• 大量的预定义图块源:Google地图,Mapbox,ArcGIS,诺基亚地图,必应地图,Open Street Maps和其他许多地图项(16个提供程序,88种地图类型); • 能够创建自己的地图样式或使用自己的图块源(例如,WMS); • ...
支持谷歌在线(离线)混合卫星地图,普通地图,地形地图,微软电子地图,微软卫星地图,bing地图,在软件界面上可以选择地图类型切换; 2.支持1-20级的地图随意缩放,鼠标右键拖动漫游。 3.支持名称查询定位,可以...
...该地图瓦片下载器是根据GMap.Net源码改编,主要以高德地图源作以演示,提供了矩形、圆形、多边形、图标、报警...提供了地图瓦片下载功能,提供了多类型地图源的配置(普通地图、卫星地图、路网地图、自定义地图源)。
百度、高德、腾讯、天地图、谷歌、必应等自定义地图/图片叠加层/瓦片图/金字塔图地图切图高清切片生成工具 MapCutter(旧名MapTiler) ,定位便捷,支持超大地图,支持leaflet、maptalks、openlayers、cesium、及...
百度、高德、腾讯、天地图、谷歌、必应等自定义地图/图片叠加层/瓦片图/金字塔图地图切图高清切片生成工具 MapCutter(旧名MapTiler) ,定位便捷,支持超大地图,支持leaflet、maptalks、openlayers、cesium、及...
百度、高德、腾讯、天地图、谷歌、必应等自定义地图/图片叠加层/瓦片图/金字塔图地图切图高清切片生成工具 MapCutter(旧名MapTiler) ,定位便捷,支持超大地图,支持leaflet、maptalks、openlayers、cesium、及...
混合卫星地图,普通地图,地形地图,在软件界面上可以选择地图类型切换。 5.支持添加地图标记,距离测量显示,地点名称显示。 6.支持在地图上所选择的标注能点击查看详细信息。 7.支持添加自定义标识图标,用户...
贡献者: pwenzel 标签: xml、站点地图、多站点、网络、自定义帖子类型至少需要: 3.7 最高测试: 4.1.1 许可证: GPLv2 或更高版本 提供支持 Google 新闻和图像站点地图的 XML 站点地图。 支持自定义帖子类型和多...
ECharts,一个使用 JavaScript 实现的开源可视化库...你可以在下载界面下载包含所有图表的构建文件,如果只是需要其中一两个图表,又嫌包含所有图表的构建文件太大,也可以在在线构建中选择需要的图表类型后自定义构建
百度、高德、腾讯、天地图、谷歌、必应等自定义地图/图片叠加层/瓦片图/金字塔图地图切图高清切片生成工具 MapCutter(旧名MapTiler) ,定位便捷,支持超大地图,支持leaflet、maptalks、openlayers、cesium、及...
百度、高德、腾讯、天地图、谷歌、必应等自定义地图/图片叠加层/瓦片图/金字塔图地图切图高清切片生成工具 MapCutter(旧名MapTiler) ,定位便捷,支持超大地图,支持leaflet、maptalks、openlayers、cesium、及...
这个工具可以用来下载网络上的地图数据源(Google的Maps和Satelite,OpenStreetMap,...- 支持自定义多边形设定地图范围 这是个开源项目,个人觉得很好用。搬过来放在这里,一是方便大家,二是我实在穷的没资源分了。
例如,开发者可以自定义地图样式、添加自定义覆盖物、以及实现地图的交互功能。总的来说,vue-bmap-gl@next是一款功能强大、灵活性高的地图组件,适用于各种类型的Vue项目,并且能够充分发挥Vue3的优势。无论是开发...