Rus*_* C. 5 google-maps geolocation topography
我目前正在开发一个Google Maps API实现,该实现覆盖了USGS Terra Server的地形数据.我认为除了我无法弄清楚如何确定从Terra Server提供的当前图块的四边形,名称和比例的名称之外,我手头还有它.如果您查看此站点并放大显示信息的地图,那么必须可以:
http://www.trails.com/topomap.aspx?trailid=fgu003-087
以下是一些文章的链接,这些文章解释了Terra Server如何命名图像:
我希望那里的一些地理专家已经做到了这一点,并且可以指出我正确的方向.如果您能够通过Google地图覆盖USGS拓扑数据以产生类似于示例地图的用户体验,我可以向您提供有关如何从当前地图视图中确定此信息的任何线索.
在此先感谢您的帮助!
在示例中,trails.com 服务器通过自己的CDN提供自定义图块图像,并使用 .NET WebHandler 在 Google 地图上显示这些图块。
由于您需要来自MSRMaps.com而不是 [Trails.com][3] 的数据,因此您将指向 MSRMaps.com WebHandler。
下面是 Trails 是如何做到的。将该函数替换getTileUrl
为调用 msrmaps.com 服务器的函数,例如MSR Tile Link
var layer = new GTileLayer(new GCopyrightCollection(''), 1, 21);
layer.getTileUrl = function(a, b)
{
var ll = G_NORMAL_MAP.getProjection().fromPixelToLatLng(new GPoint(a.x * 256, (a.y + 1) * 256), b);
var ur = G_NORMAL_MAP.getProjection().fromPixelToLatLng(new GPoint((a.x + 1) * 256, a.y * 256), b);
return "http://cdn-www.trails.com/services/TopoGetGoogleMapTile.ashx?z=" + b + "&style=drgsr&ll=" + ll.y + "," + ll.x + "&ur=" + ur.y + "," + ur.x;
}
var map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng(37.4419, -122.1419), 13);
map.setUIToDefault();
var mapType = new GMapType([layer], G_NORMAL_MAP.getProjection(), 'Trails', { errorMessage: google.mapError, textColor: "white", linkColor: "white" });
map.addMapType(mapType);
map.setMapType(mapType);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1764 次 |
最近记录: |