Я обновляю кроссплатформенное приложение, написанное на VS2010.
Мне нужно предоставить инструкции по вождению в выбранное место.
Мне бы хотелось, чтобы мое приложение открывало Google Maps (GM) в своем собственном окне с наилучшим уже определенным маршрутом (как если бы оператор сам открыл GM и выбрал пункт назначения вручную).
Я следовал инструкциям разработчика GM, но не могу заставить его открыть GM на устройстве Android, я могу заставить его открыть GM на iOS, но он зависает (у всех установлен GM и на Wifi). У меня нет ключа API Google, так как в инструкциях говорится, что он не нужен.
IOS:
window.open("maps://www.google.com/maps/dir/?api=1&destination=-36.847456,174.830521&travelmode=driving");
Открывает GM с последним пунктом назначения, но постоянно находится в состоянии «Загрузка…»
Android:
window.open("https://www.google.com/maps/dir/?api=1&origin=-36.852946,174.763348&destination=-36.847456,174.830521&travelmode=driving");
Откроется веб-страница с выбранным рекомендуемым маршрутом, но с баннером «Нет интернета». AndroidBanner
Когда я нажимаю [Navigate], меня спрашивают, хочу ли я использовать приложение Google Maps. Когда я нажимаю [Использовать приложение], я получаю сообщение об ошибке ниже, которое выводит меня на черный экран, поэтому я должен перезапустить приложение.
Кроме того, вставка указанного выше URL в chrome при возврате Android "не соответствует ни одному документу".
net :: ERR_UNKNOWN_URL_SCHEME (намерение: //maps.app.goo.gl/? Link = https://www.google.com/maps/dir//-36.847456,174.830521/@-36.8660726,174.7966977,12z/data%3D!4m2!4m1!3e0!11m1!6b1&apn=com.google.android.apps.maps&amv=914018424&isi=585027354&ibi=com.google.Maps&ius=comgooglemapsurl&utm_campaign=ml_promo&ct=ml-navfab-nlu-o&mt=8&pt=9008#Intent;package=com.google.android.gms;scheme=https;S.browser_fallback_url=https://play.google.com/store/apps/details%3Fid%3Dcom.google.android.apps.maps&pcampaignid%3Dfdl_long&url%3Dhttps://www.google.com/maps/dir//-36.847456,174.830521/@-36.8660726,174.7966977,12z/data%253D!4m2!4m1!3e0!11m1!6b1&min_version%3D914018424;end;)
Чего мне не хватает?
Вся функция, которая вызывается с помощью кнопки на панели инструментов вместе с предыдущими попытками:
mapsSelector: function () {
// helpful url: https://developers.google.com/maps/documentation/urls/ios-urlscheme
var mapURL = "https";
if /* if we're on iOS, open in Apple Maps */
((navigator.platform.indexOf("iPhone") != -1) ||
(navigator.platform.indexOf("iPad") != -1) ||
(navigator.platform.indexOf("iPod") != -1))
mapURL = "maps";
/*
mapURL = mapURL + "://www.google.com/maps/dir/" +
viewModel.Latitude_Now() + "," + viewModel.Longitude_Now() + "/" +
viewModel.Latitude_Destination() + "," + viewModel.Longitude_Destination() + ",17/" +
"am=t";
mapURL = "http://maps.google.com/maps?saddr=-36.91078,174.850896&daddr=-36.7492041,174.6866052";
mapURL = "https://www.google.com/maps/dir/?api=1&saddr=-36.91078,174.850896&daddr=-36.7492041,174.6866052";
mapURL = "https://www.google.com/maps/dir/?api=1&origin=-36.91078,174.850896&destination=-36.7492041,174.6866052&travelmode=driving";
*/
mapURL = "https://www.google.com/maps/dir/?api=1&origin=-36.852946,174.763348&destination=-36.847456,174.830521&travelmode=driving";
//mapURL = "maps://www.google.com/maps/dir/?api=1&destination=-36.847456,174.830521&travelmode=driving";
alert(mapURL);
window.open(mapURL);
}