谷歌地图地图图像瓷砖
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 文件夹,然后使用 TileProvider
在 MapFragment
(或 MapView
)上显示自定义平铺地图。以上是关于谷歌地图地图图像瓷砖的主要内容,如果未能解决你的问题,请参考以下文章