谷歌地图地图图像瓷砖

Posted

技术标签:

【中文标题】谷歌地图地图图像瓷砖【英文标题】:Google maps map image tiles 【发布时间】:2018-01-30 19:02:03 【问题描述】:

我了解到您可以使用图块创建自定义图像地图。现在我看到了一个视频,这个过程是用 LeafletJS video here 完成的。

但是我怎样才能用谷歌地图做到这一点。例如,我有以下动物园地图示例。 我如何在谷歌地图中使用它。有人能指出我正确的方向、教程等吗?

【问题讨论】:

【参考方案1】:

为地图创建图块并非易事,为此有许多实用程序(例如maptiler)。您应该将图像拆分为图块,并将其保存在例如资产文件夹中。您还需要实现自定义TileProvider,例如thisAlex Vasilkov 的答案。 但是,实际上,如果您有“大”图像(由于内存限制而无法完全显示),或者您有多个用于不同缩放级别的图像,则需要使用磁贴 - 在这种情况下,zoomlevel 的一个磁贴变为@987654332 的 4 个磁贴@。台北动物园的schamatics不是很大,所以你可以使用GroundOverlay

将您的图像作为zoo 可绘制资源,您可以使用如下内容:

@Override
public void onMapReady(GoogleMap googleMap) 
    mGoogleMap = googleMap;

    GroundOverlayOptions overlayZoo = new GroundOverlayOptions()
            .image(BitmapDescriptorFactory.fromResource(R.drawable.zoo))
            .transparency(0.5f)
            .bearing(135)
            .position(new LatLng(24.995517, 121.584058), 1000f);

    mGoogleMap.addGroundOverlay(overlayZoo);

    mGoogleMap.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(24.995517, 121.584058), 15.0f));

得到了类似的东西:

它是可缩放、可滚动、可旋转等的。

当然,这只是一个例子,你需要更精确的参考,方位,去除不必要的元素等。另外图像方案本身非常近似,与真实地形不同。

【讨论】:

感谢您的信息。我怎么能把我的图像分成瓷砖。以及如何开始绘制位置准确的地图。 1) 像this 教程中一样使用maptiler; 2) 调整.position(new LatLng(24.995517, 121.584058), 1000f); 行中的数字。 我现在还没怎么开始。例如,我发现了一个想要用作图块的大图像。从哪儿开始?找不到好的教程。职位呢。如何将我的图像分割成图块?等 @Bham Here 是 MapTiler 用于从图像创建切片的视频教程。 here 是在 Google 地图中使用自定义图块的示例。您需要下载免费版本的 Maptiler,然后启动它,然后打开要从中创建图块的图像,然后通过地图分块器对其进行处理。然后,您需要将平铺图像放入 android 应用程序的 assets 文件夹,然后使用 TileProviderMapFragment(或 MapView)上显示自定义平铺地图。

以上是关于谷歌地图地图图像瓷砖的主要内容,如果未能解决你的问题,请参考以下文章

谷歌离线地图:不是瓷砖而是javascript

谷歌地图只显示空白瓷砖android

谷歌地图在Chrome上缺少一排瓷砖

谷歌地图风格不适用于韩国地区

如何在网页上自动化谷歌地图图像?

当用户点击地图图钉时动态更改图标图像文件:谷歌地图