我目前正在做一个项目,我需要在一个片段中添加一个Google -- Maps地图,但是我已经搜索了很长一段时间了,我还没有找到一种方法来介绍这个URL。我猜它应该是GoogleMap类中的一个方法。此外,我注意到有些方法,如addPolygon,可以帮助实现类似于MyMaps映射的结果。但是,这将是一种非常麻烦的方法,因为我需要添加许多坐标,这将变得非常耗时。
谢谢!
发布于 2018-06-27 08:26:21
我不确定不保存KML文件并在Fragment中显示的过程。
但是,通过手动下载文件,如下面所示,我们可以在片段中包含相同的内容。

现在在raw文件夹中创建res文件夹。
将下载的KML文件粘贴到raw文件夹中。
如图所示,更新google地图的依赖性。
api 'com.google.maps.android:android-maps-utils:0.5'在您的片段中执行以下操作。
KmlLayer kmlFile;
public void onMapReady(GoogleMap googleMap) {
...............
...............
try {
kmlFile = new KmlLayer(googleMap, R.raw.my_map, getContext());
kmlFile.addLayerToMap();
} catch (XmlPullParserException e) {
Log.e(TAG,""+e.toString());
} catch (IOException e) {
Log.e(TAG,""+e.toString());
}
}我已经使用下面显示正常的谷歌地图。此地图加载与通常以片段形式显示地图的过程相同。
<com.google.android.gms.maps.MapView
android:id="@+id/placeOrderMap"
android:layout_width="match_parent"
android:layout_height="200dp"
>
</com.google.android.gms.maps.MapView>现在,一旦加载了片段,就可以滑动到创建Google的位置,您可以看到创建的地图Pin / Icon等等。
输出将按照您创建的元素如下所示。

发布于 2018-06-27 09:14:17
您不需要GoogleMap对象来实现我的地图可视化。只需将WebView添加到您的片段中,并通过共享URL将Map加载到其中:
private WebView mMyMapWebView;
...
mMyMapWebView = (WebView) findViewById(R.id.mymap_webview);
mMyMapWebView.getSettings().setJavaScriptEnabled(true);
mMyMapWebView.setWebViewClient(new WebViewClient());
mMyMapWebView.loadUrl(<your_mymap__url_e.g. https://drive.google.com/open?id=...>);在.xml中,WebView可以这样描述:
<WebView
android:id="@+id/mymap_webview"
android:layout_width="match_parent"
android:layout_height="match_parent"></WebView>您可以通过按下Maps控制面板上的“共享”按钮来共享您的地图的URL:

在具有共享URL的窗口中,您还应该将访问权限从私有更改为“任何有链接的人”或公共权限:

与之相比,在Android设备上你可以得到这样的信息:

https://stackoverflow.com/questions/51056759
复制相似问题