我目前正在一个项目中,需要将Google 我的地图地图添加到片段中,但是我已经搜索了一段时间,但无法进行找到一种介绍URL的方法。我的猜测是它应该是GoogleMap类中某个位置的方法。 另外,我注意到有些方法像addPolygon可以帮助实现与MyMaps地图相似的结果。但是,这将是一个非常麻烦的方法,因为我必须添加许多坐标,这将变得非常耗时。
谢谢!
答案 0 :(得分:2)
我不确定不保存KML文件并显示在Fragment
中的过程。
但是通过如下所示手动下载文件,我们可以包括 片段中也是如此。
现在在raw
文件夹中创建文件夹res
。
将下载的KML
文件粘贴到raw
文件夹中。
如图所示更新google map的依赖关系。
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());
}
}
我已经在下面用来显示普通的Google地图。该地图加载是在Fragment中显示地图的常规过程
<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我的地图的位置,即可看到创建的地图图钉/图标等。
根据您创建的元素,输出将如下所示。
答案 1 :(得分:1)
“我的地图”可视化不需要GoogleMap
对象。只需将WebView
添加到片段中,然后通过共享URL将“我的地图”加载到其中:
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>
可以通过按“我的地图”控制面板上的“共享”按钮来获取“我的地图”的共享网址:
并在带有共享URL的窗口中,您还应该将访问权限从私有更改为“具有链接的任何人”或公共:
然后,在Android设备上您将获得类似的内容: