Карта Google серого цвета на iOS, пока я не прокручиваю / перетаскиваю ее

У меня есть приложение Cordova, где я отображаю карту Google в нескольких видах.

Я создаю экземпляр карты в DIV через

  mapElement = document.createElement('div');
  mapElement.style.width = '100%';
  mapElement.style.height = '100%';
  mapElement.setAttribute("id", "map");
  map = new google.maps.Map(mapElement, {
    center: SYDNEY,
    zoom: 16,
    disableDefaultUI: true,
    gestureHandling: 'greedy'
  });

Я добавляю это mapElement в родительский элемент div, когда мне нужно отобразить карту.

Похоже, что он работает на настольном браузере, Android, даже Safari на Mac тоже. Но это не работает на симуляторах iPhone и iOS.

На симуляторах iPhone и iOS карта выглядит серой, пока я ее не трогаю, если я ее немного перетаскиваю, она отображается правильно.

Я создал минимальное решение для своего кода https://codepen.io/anon/pen/pGGMBq

Примечание. Кажется, это связано с недавним обновлением API Карт, потому что тот же подход работал несколько дней назад.

Вот сценарий

https://maps.googleapis.com/maps/api/js?v=3&key=AIzaSyBXwFGK-MgYDbrQU0uLBmN372VefginLIU&libraries=geometry,drawing

Что я пробовал

  • Запуск изменения размера с помощью google.maps.event.trigger(map, "resize");
  • Изменение высоты контейнера с помощью jQuery.
  • Несколько других твиков

0 ответов

Вы должны заранее заявить о доступе к личным данным. К личным данным относятся камера, местоположение, календарь, фотографии, микрофон и т. Д. Для этого нужно добавить ключ использования в Info.plist приложения вместе со строкой назначения. Вот что вам нужно сделать:

После добавления плагина геолокации вам необходимо добавить следующее в ваш файл config.xml. Затем он будет скомпилирован в Info.plist приложения:

<config-file  parent="NSLocationWhenInUseUsageDescription" platform="ios" 
target="*-Info.plist">

    <string>need location access to find things nearby</string>

<config-file>

Наконец, вам придется удалить платформу и добавить ее снова. Вы можете сделать это с помощью этой команды:

cordova platform rm ios
cordova platform add ios
Другие вопросы по тегам