谷歌地图:$ .goMap()与自定义overlayMapType

时间:2013-02-07 10:22:47

标签: javascript google-maps jquery-plugins google-maps-api-3 overlay

首先:我尝试重新制作一个名为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有一些想法或经验。

谢谢。

1 个答案:

答案 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的不必要请求)