Как показать Google Maps с адресом в angular2

Мне удалось показать карту Google, используя широту и долготу. Однако я понятия не имею, как показать это с помощью адреса. Я имею в виду, что мне нужно сгенерировать широту и долготу из адреса.

Я видел здесь несколько кодов, в основном с использованием google.maps.Geocoder. Проблема в том, что если я пытаюсь использовать google.maps.Geocoder, возникает ошибка, что не удается найти имя "google".

Если кто-нибудь знает, как решить эту проблему, пожалуйста, дайте мне знать. И если вы ответите с примером кода, это может очень помочь!

Спасибо за вашу помощь и совет! :D


person Mingyu Jeon    schedule 01.02.2017    source источник


Ответы (5)


npm install --save @types/googlemaps;

import {} from '@types/googlemaps'; 

в ваш файл component.ts

Это работа для меня!

person Max Korolkov    schedule 31.05.2017
comment
Парень, задавший вопрос, сам на него и ответил. Нет смысла писать еще один ответ .. - person Ray; 31.05.2017
comment
@Ray абсолютно имеет смысл публиковать новые ответы, чтобы принести пользу другим пользователям, у которых может быть тот же вопрос, но они недовольны принятым ответом, и предложить альтернативное решение для рассмотрения ОП. - person joshcomley; 24.05.2018

Это было просто. Я решаю это, вызывая URL-адрес API с параметром адреса

constructor(private http: Http) { }
  getlatlng(address){
    return this.http.get('https://maps.googleapis.com/maps/api/geocode/json?address=' + address)
      .catch(handleError);
  }
person Mingyu Jeon    schedule 03.02.2017
comment
Это, к сожалению, дает блокировку запроса на перекрестное происхождение - person wiwi; 05.10.2017
comment
API геокодирования стоит 5 долларов США за 1000 вызовов или 0,005 долларов США за вызов :( - person Francisco Bueno; 14.11.2019

Это действительно хорошее руководство по поиску адреса и отображению его на картах Google:

http://brianflove.com/2016/10/18/angular-2-google-maps-places-autocomplete/

Внизу также есть демо-версия plunkr. Надеюсь, это то, что вы искали.

Адрес по широте и долготе

let place: google.maps.places.PlaceResult = autocomplete.getPlace();

//verify result
if (place.geometry === undefined || place.geometry === null) {
    return
}

//set latitude, longitude
this.latitude = place.geometry.location.lat();
this.longitude = place.geometry.location.lng();
person Andrew Mogg    schedule 01.02.2017
comment
Спасибо за ответ, но он не мой. Я знаю, как получить адрес из lat&lng. Мне нужно знать, как получить широту и долготу по адресу. - person Mingyu Jeon; 02.02.2017
comment
Я добавил фрагмент кода выше, где он преобразует введенный адрес (место) в широту и долготу. Это то, что вы хотели сделать? - person Andrew Mogg; 02.02.2017

Я снова установил, используя npm install @types/googlemaps --save-dev Итак, я смог решить ошибку, которую cannot find name 'google'

И... Кто-нибудь может привести пример геокодирования с помощью angular2?

person Mingyu Jeon    schedule 02.02.2017

чтобы найти имя как google в вашем приложении, вам нужно объявить var google : any ; в верхнем компоненте.

person Sahil Kashetwar    schedule 10.05.2017