首先:我尝试重新制作一个名为regionalkarten.com的网站 它是德国地图出版商。此页面使用Google API v2显示我们的自定义地图。
我的工作是将页面更新为API v3。 现在我找到了jQuery GoMap插件,我尝试使用它,但它似乎不支持自定义地图。
我尝试使用自定义地图定义Overly
var ehsTypeBOptions =
{
getTileUrl: function(coord, zoom)
{
var x = coord.x;
var y = coord.y;
return "http://regionalkarten.com/_map/ehs_village_maps/is_maps/z"+zoom+"/"+coord.y+"/"+coord.x+".png";
},
tileSize: new google.maps.Size(256, 256),
};
并将其加载到地图中:
map.overlayMapTypes.insertAt(0, new google.maps.ImageMapType(ehsTypeBOptions));
没有GoMap,它可以正常工作。所以我试过了:
$.goMap.overlayMapTypes.insertAt(0, new google.maps.ImageMapType(ehsTypeBOptions));
猜猜是什么,它不起作用:(
GoMaps Webpage和谷歌不是很有帮助。请记住,我必须将自定义地图加载到叠加层中。我需要覆盖后面的真实谷歌地图,因为我们的地图不是无间隙的。 我希望你对GoMap有一些想法或经验。
谢谢。
答案 0 :(得分:1)
$.goMap
未返回原始google.maps.Map
- 实例,因此您无法在那里使用Maps-API方法。
可以通过$.goMap.map
访问google.maps.Map-instance。
除此之外:我建议不要使用这个库,自1年以来没有任何更新,这一切都可以在没有任何额外库的情况下完成。
更重要:在继续使用ImageMapType
之前,这对您来说不是正确的MapType,因为看起来TileServer不会为整个世界提供切片。< / p>
当用户平移或缩放以使某个区域位于没有可用图块的视口中时,此区域将显示为灰色空间。您最好使用Overlay MapType
并将叠加层的背景图像设置为TileUrl(此外,您可以使用检查Tile是否可用的条件来减少对tile-server的不必要请求)