Интересный путь интеграции карт Google в приложение Ionic
Нет сомнений, что Google Map JavaScript API v3
отлично подходит для быстрого прототипирования, но он также сопряжен с некоторыми компромиссами. Давайте посмотрим, как интегрировать JavaScript API.
Интеграция — это всего 3 шага:
- Посетите сайт разработчика Google Maps, нажмите кнопку Получить ключ и зарегистрируйте приложение, оно сгенерирует ключ приложения.
- Добавьте ссылку SDK в теги сценария index.html
<script src=”https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap"
async defer></script> - Добавьте
declare var google: any;
к вашему компоненту перед определением класса
и начать использовать его вот небольшой фрагмент кода.
мой-component.html
<div id="map-container"></div>
мой-component.scss
#map-container { height: 300px; /* mandatory */ }
мой-component.ts
import ... declare var google: any; // a dirty way @Component({...}) export class MyComponent { @ViewChild('map') mapRef: ElementRef; constructor() { this.showMap(); } showMap() { // Location - lat long const location = new google.maps.LatLng(31.588466, 74.314981); // Map options const options = { center: location, zoom: 17, streetViewControl: false, disableDefaultUI: true }; this.map = new google.maps.Map(this.mapRef.nativeElement, options); this.addMarker(location, this.map); } private addMarker(position, map) { return new google.maps.Marker({ position, map }); } }
Плюсы:
- Очень быстрая интеграция карт
- Доступны все API, просто нужно следовать документации
Минусы
- Нет оффлайн поддержки
- Никаких подсказок кода во время разработки
- Иногда странная ошибка
google
не определяется