Google 地图地图图像图块
Google maps map image tiles
我了解到您可以使用图块创建自定义图像地图。现在我看到了一个视频,其中使用 LeafletJS 完成了这个过程 video here
但是我如何使用 google 地图完成此操作。例如,我有以下动物园的示例地图。 我如何将其用于 google 地图中的图块。有人能给我指出正确的方向、教程等吗
为地图创建图块并不是一项微不足道的任务,并且有很多实用程序(例如 maptiler). You should split your image to tiles, and save it in, for example, assets folder. Also you need implement custom TileProvider
like in this answer of Alex Vasilkov。
但是,实际上,如果您有 "big" 图片,由于内存限制而无法完全显示,或者您有多个不同缩放级别的图像,则需要拼贴 - 在这种情况下,zoomlevel
的一张拼贴变为 4 zoomlevel+1
个方块。台北动物园的空间不大,可以用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));
}
得到了类似的东西:
它可以缩放、滚动、旋转等
当然,这只是示例,还需要更精确的参照、方位、去除不必要的元素等。而且图像方案本身非常近似,与真实地形不同。
我了解到您可以使用图块创建自定义图像地图。现在我看到了一个视频,其中使用 LeafletJS 完成了这个过程 video here
但是我如何使用 google 地图完成此操作。例如,我有以下动物园的示例地图。
为地图创建图块并不是一项微不足道的任务,并且有很多实用程序(例如 maptiler). You should split your image to tiles, and save it in, for example, assets folder. Also you need implement custom TileProvider
like in this answer of Alex Vasilkov。
但是,实际上,如果您有 "big" 图片,由于内存限制而无法完全显示,或者您有多个不同缩放级别的图像,则需要拼贴 - 在这种情况下,zoomlevel
的一张拼贴变为 4 zoomlevel+1
个方块。台北动物园的空间不大,可以用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));
}
得到了类似的东西:
它可以缩放、滚动、旋转等
当然,这只是示例,还需要更精确的参照、方位、去除不必要的元素等。而且图像方案本身非常近似,与真实地形不同。