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

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

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

【问题讨论】:

    标签: google-maps google-maps-api-3 maps tiles


    【解决方案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)上显示自定义平铺地图。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-30
    • 2013-08-01
    • 1970-01-01
    • 2012-07-12
    • 2013-06-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多