В настоящее время я работаю над проектом, в котором мне нужно добавить карту Google Мои карты к фрагменту, но я какое-то время искал и не смог найти способ ввести URL. Я предполагаю, что это должен быть метод где-то в классе GoogleMap. Кроме того, я заметил, что есть некоторые методы, такие как addPolygon, которые могут помочь добиться такого же результата, как и карта MyMaps. Однако это был бы довольно запутанный подход, так как мне пришлось бы добавить много координат, и это заняло бы действительно много времени.
Спасибо!
Я не уверен в том, что файл KML не сохраняется и не отображается в Fragment.
But by manually downloading the file as shown below , we can include the same in 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());
}
}
Я использовал ниже, чтобы отобразить обычную карту Google. Эта загрузка карты является обычной процедурой для отображения карты во фрагменте.
<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 Мои карты, и вы увидите созданный значок / значок карты и т. д.
Результат будет таким, как показано ниже, в соответствии с вашими созданными элементами.
Я понятия не имею об этих строках. Вероятно, вы можете опубликовать этот конкретный вопрос в другой ветке. Как более конкретный, чем ваш вопрос Добавить карту MyMaps во фрагмент Android
Вам не нужен объект 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=...>);
в .xmlWebView можно описать так:
<WebView
android:id = "@+id/mymap_webview"
android:layout_width = "match_parent"
android:layout_height = "match_parent"></WebView>
URL-адрес для общего доступа к вашей Моей карте вы можете получить, нажав кнопку Поделиться на панели управления Моими картами:
и в окне с общим URL-адресом вы также должны изменить права доступа с личных на «Всем, у кого есть ссылка» или общедоступные:
и затем на устройстве Android вы получите что-то вроде этого:
Здравствуйте, ваш метод работает нормально при экспорте в KML. Если вместо этого я использую версию KMZ, чтобы сохранить значки, я получаю сообщение об ошибке от XmlParser: org.xmlpull.v1.XmlPullParserException: unterminated entity ref (position: TEXT @ 1: 213 in java.io.InputStreamReader@df5ffa7 ). Если я извлекаю KML из сгенерированного KMZ, он работает, но, конечно, без изображений значков. Есть идеи, нужно ли мне использовать что-то особенное для kmz?