Google Maps не открывается должным образом - PullRequest
0 голосов
/ 18 января 2019

Я обновляю кроссплатформенное приложение, написанное на 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);

    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...