Родной скрипт с Googlemap stati c api - выпуск на iOS - PullRequest
0 голосов
/ 02 апреля 2020

Я пытаюсь добавить изображение карты, созданной Google Map Stati c API в моем приложении Nativescript (я использую Nativescript с Vue). Я могу заставить его работать на Android, но у меня есть некоторые проблемы на iOS.

У меня просто есть такой компонент Image <Image :src="map_source" />

И в моем vue данные, у меня есть map_source: "https://maps.googleapis.com/maps/api/staticmap?&markers=48.2, 2.1 & path = color: red | weight: 5 | fillcolor: red | 48.2,2.1 | 48.3,2.13 | 48.4,2.12 & zoom = 10 & size = 460x200 & key = MY_API_KEY"

Когда я использую этот URL в своем браузере, я получаю нужную карту. Когда я использую этот URL в своем приложении на Android, карта отображается правильно. Но когда я использую тот же URL в своем приложении на устройстве iOS, карта вообще не отображается.

Примечание: если я удалю путь (например, map_source: "https://maps.googleapis.com/maps/api/staticmap?&markers=48.2, 2.1 & zoom = 10 & size = 460x200 & key = MY_API_KEY", изображение корректно отображается как на Android, так и iOS. Ошибка появляется только при добавлении пути.

Это iOS вопрос или я что то не так делаю?

1 Ответ

0 голосов
/ 03 апреля 2020

Мне удалось найти проблему благодаря @Manoj. На iOS устройствах URL не был поддержан из-за «|» персонаж. Поэтому мне пришлось кодировать это так:

let imageSourceModule = require("tns-core-modules/image-source");
let url = encodeURI("https://maps.googleapis.com/maps/api/staticmap?&markers=48.2,2.1&zoom=10&size=460x200&key=MY_API_KEY")
imageSourceModule.fromUrl(url).then(res => {
    this.map_source = res;
});
...