适用环境:
为企业内网提供地图信息服务。
准备工作:
下载稻歌Google Map截获器
http://www.daogle.com/daogle_download
下载Openlayer
http://www.openlayers.org/
稻歌Google Map截获器用于获取谷歌的原始瓦片;
通过Openlayer展示谷歌瓦片,并提供定位,轨迹等功能。
1、通过稻歌Google Map截获器获取谷歌瓦片
点击
软件设置,在弹出窗口中
是否保留Google原始网子图,选
【是】,保存设置;
在右上角选择地图类型包括地形、卫星、混合地图、地形等;
在地图上选定相关区域的地图,点击
确定进行截获;
操作结束后,瓦片图保存在
软件设置中
格网子图存放位置中说明的位置中。
注意1:稻歌Google Map截获器在获取1万张以上谷歌原始瓦片时会获取不全,需要根据经纬度切分要获取的地图信息分别获取。
2、,使用openlayer展示谷歌瓦片
var map ;
function init(){
map = new OpenLayers.Map("map",{numZoomLevels:12});
var ol_wms = new OpenLayers.Layer.TMS("地图图层","",{ 'getURL':getImg,layers: "basic"});
map.maxExtent = new OpenLayers.Bounds(-180,-90,180,90);
var thislonLat ;
map.addLayers([ol_wms]);
map.addControl(new OpenLayers.Control.MousePosition({
//重写鼠标获取经纬度,修正纬度
formatOutput:function(lonLat){
thislonLat = lonLat;
var digits = parseInt(this.numDigits);
var newHtml =
this.prefix +
lonLat.lon.toFixed(digits) +
this.separator +
Math.round(aCheckLatiude(lonLat.lat.toFixed(digits),map.getZoom())*100000)/100000 +
this.suffix;
return newHtml;
}
}));
map.addControl(new OpenLayers.Control.LayerSwitcher());
map.setCenter(new OpenLayers.LonLat(119, 26.31),7);
function getImg(bounds){
var x = Math.round(Math.pow(2,this.map.getZoom())*(bounds.left+180)/360);
x = Math.round(x);
var y = Math.round(Math.pow(2,this.map.getZoom()-1)*(90-bounds.top)/180+Math.pow(2,this.map.getZoom()-2));
var z = this.map.getZoom();
//由于地图放在同一个文件夹中数量太大难以管理,采用缩放等级及横坐标的形式建立文件夹进行管理,z表示缩放等级,x表示横坐标
var imgUrl = "pt/"+z+"/"+x+"/m_"+ z + "_"+ x + "_" + y + ".png"
return imgUrl;
}
}
/*根据纬度坐标换算像素*/
function latToPixel(lat, zoom) {
var siny = Math.sin(lat * Math.PI / 180);
var y = Math.log((1 + siny) / (1 - siny));
return (128 << zoom) * (1 - y / (2 * Math.PI));
}
/*根据像素换算纬度坐标*/
function pixelToLat(pixelY, zoom) {
var y = 2 * Math.PI * (1 - pixelY / (128 << zoom));
var z = Math.pow(Math.E, y);
var siny = (z - 1) / (z + 1);
return Math.asin(siny) * 180 / Math.PI;
}
/*定位*/
function setCenter(longitude,latitude){
map.setCenter(new OpenLayers.LonLat(longitude, checkLatitude(latitude,map.getZoom())));
var features = [
new Feature(
new Geometry.Point(longitude, checkLatitude(latitude,map.getZoom())),
{cls: "greenMark"}
)
];
linelayer.addFeatures(features);
}
/*修正经度偏差*/
function checkLongitude(longitude){
return longitude;
}
/*由于谷歌瓦片使用和openlayer不同的坐标系,需要对纵坐标进行修正,修正维度偏差*/
function checkLatitude(latitude,zoom){
var totalPixel = latToPixel(-85.05112878,zoom);
var thisPixel = latToPixel(latitude,zoom);
var latitude = 90*(totalPixel/2-thisPixel)/(256*Math.pow(2,zoom-2));
return latitude
}
/*修正纬度偏差的反函数*/
function aCheckLatiude(latitude,zoom){
var totalPixel = latToPixel(-85.05112878,zoom);
var thisPixel = totalPixel/2-latitude*(256*Math.pow(2,zoom-2))/90;
return pixelToLat(thisPixel,zoom);
}
基于以上可以使用谷歌瓦片在内网应用中提供定位、轨迹管理等功能,附件中使用福建省莆田市部分瓦片作为参考。
注意2:文件系统格式为FAT32对文件总数有数量限制,如瓦片数量较多应使用NTFS作为文件系统格式。
注意3:由于谷歌瓦片使用了火星坐标,地图位置和实际位置通过GPS获得的坐标用一定偏差,需根据不同城市进行修正。
最后,感谢大漠穷秋,感谢大漠穷秋的脚本娃娃系列群,感谢丐帮,感谢丐帮老男孩提供思路。
分享到:
相关推荐
NULL 博文链接:https://flyqantas.iteye.com/blog/2068566
【标题】"稻歌Google Map截获器V1.1版安装程序"涉及的主要知识点是利用第三方工具获取和处理Google Map的卫星影像数据。这款软件主要用于帮助用户抓取并保存Google Maps上的卫星图像,以便离线查看或者进行特定分析...
【稻歌GoogleMap截获器V1.1】是一款专为地图截取和拼接设计的实用工具,尤其适用于Google Earth地图的捕获。这款软件能够自动化地截取Google Earth中的地图图像,并将这些分散的图片整合成一个完整的高分辨率地图,...
【稻歌Google Map截获器v2.2】是一款专门针对Google Map的高效地图截取工具,它允许用户轻松地捕获地图上的各种视图,包括标准地图、卫星图像、地形图以及混合视图,并将这些截取的图像无缝拼接成单一的tif格式文件...
《稻歌Google Map截获器 2.2官方版》是一款专为谷歌地图设计的高效截图工具,尤其在地质勘探、林业、环境等专业领域中得到了广泛应用。它提供了丰富的功能,帮助用户方便快捷地捕获并处理地图图像,极大地提高了地图...
稻歌Google Map截获器是目前国内最简便易用,专业的Google Map下载截图免费工具软件,可截获Google Map卫星影像、地图、地形图,海量下载,大幅面拼图,赋予精确的Google Map投影坐标。 本软件最大的特色是简单方便...
【稻歌Google Map截获器V2.1】是一款专为Windows XP系统设计的地图下载工具,主要用于抓取和保存Google地图的数据。这款软件允许用户在没有互联网限制的情况下,获取并储存高分辨率的卫星图像和地形数据,对于地理...
用户只需运行此文件,就可以在他们的计算机上安装并使用“稻歌”来截取和下载谷歌地图。 综上所述,"稻歌"是一个强大的地图截取和下载工具,专为谷歌地图设计。它能够捕获地图图像,并且包含坐标信息,适用于需要...
【稻歌谷歌地图截获免费下载器】是一款高效实用的工具,专为用户设计,能够帮助用户方便地从Google Map获取地图、卫星影像、地形图以及混合地图等数据,并进行大幅面的截取和拼接。这款软件的核心功能在于其无限制的...
谷歌截图工具,任意截图,18级放大。不过只能接中国。
1、大幅面截获Google Map 上的地图、卫星影像、地形图,拼接并存储为tif 格式的图像, 同时赋上精确的投影与坐标; 2、无幅面大小限制、海量下载、无缝拼接;
谷歌地图下载器最新版-稻歌谷歌地图截获器V2.1 1、大幅面截获Google Map上的地图、卫星影像、地形图、混合地图,拼接并存储为tif格式的图像,同时赋上精确的投影与坐标; 2、无幅面大小限制、海量下载、无缝拼接; ...
本示例“baiduMap_openlayer”是关于如何利用OpenLayers加载和展示百度地图与高德地图的教程。这个教程对开发者来说具有很高的参考价值,特别是那些想要在自己的Web应用中集成地图功能的人员。 首先,让我们深入...
非常好的截图工具,可以省去你截图后的拼接烦恼,同时也可以截取带有坐标的图,截完后只需进行坐标转换就能用了。
OpenLayers 是一个开源的JavaScript库,用于在网页上创建交互式的地图应用。它支持多种地图服务,包括天地图。在本教程中,我们将探讨如何使用OpenLayers接入天地图,并处理经纬度投影的问题。 首先,我们需要了解...
标题中的“谷歌地图免费下载拼接工具_稻歌地图”指的是一个名为“稻歌Google Map截获器”的软件,这款工具允许用户免费下载并拼接谷歌地图上的卫星影像、地图和地形图。在这个过程中,我们可以深入探讨几个重要的IT...
常见的瓦片源类型有XYZ(基于Google Maps风格的瓦片服务)、WMTS(Web Map Tile Service)和TMS(Tile Map Service)等。 2. **瓦片图层(Tile Layer)**:图层是地图上的可视化元素,可以是单一的瓦片源,也可以是...
1. 地图初始化:设置地图底图,通常可以使用OpenStreetMap、Google Maps等公开服务,或者自定义的WMS服务。 2. 动态数据加载:定期从服务器获取最新军事态势数据,更新到地图的矢量图层中。这可以通过Ajax请求实现...