【问题标题】:google Maps: $.goMap() with custom overlayMapType谷歌地图:具有自定义叠加 MapType 的 $.goMap()
【发布时间】:2013-02-07 10:22:46
【问题描述】:

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

谢谢。

【问题讨论】:

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


    【解决方案1】:

    $.goMap 不返回原生的google.maps.Map-instance,因此您不能在那里使用 Maps-API-methods。

    google.maps.Map-instance 可以通过$.goMap.map 访问。

    除此之外:我建议不要使用这个库,自 1 年以来没有任何更新,而这一切都可以在没有任何额外库的情况下完成。

    更重要的是:在您继续使用 ImageMapType 之前,这不是适合您的 MapType,因为 TileServer 似乎不为整个世界提供图块。

    当用户平移或缩放以使某个区域位于视口中而没有可用的平铺时,该区域将显示为灰色空间。您最好使用Overlay MapType 并将叠加层的背景图像设置为 TileUrl(此外,您可以使用检查 Tile 是否可用的条件来减少对 tile-server 的不必要请求)

    【讨论】:

    • 我想我可以用这个插件为我节省一些工作。感谢您提供叠加层的提示。让我们看看我是如何做到这一点的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-22
    • 1970-01-01
    • 1970-01-01
    • 2012-10-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多