Геокодирование Имя адреса из базы данных с помощью плагин esri листовки - PullRequest
0 голосов
/ 22 декабря 2018

Я пытаюсь создать приложение карты, которое использует имя адреса в базе данных и отображает маркер на карте листовки.Я сталкивался с плагином esri листовки, но не уверен, как использовать код.Может ли кто-нибудь научить меня, как извлечь результат (долгота и широта) из функции геокодирования и нарисовать маркер?Спасибо!

Функция геокодирования:

L.esri.Geocoding.geocode(<Object> options)

Результаты:

{results: [
    {
      latlng: L.LatLng,
      text: 'Formatted Address',
      score: 100, // certainty ranking of the match
      properties: {
        // additional info like specific address components (Country Code etc.)
      }
    }
  ]
}

http://esri.github.io/esri-leaflet/api-reference/tasks/geocode.html

1 Ответ

0 голосов
/ 23 декабря 2018

Вот пример использования ES6:

import L from "leaflet";
// import library as ELG
import * as ELG from "esri-leaflet-geocoder";

// here is an example address in the US - use the one from your DB
const address = "380 New York St, Redlands, California, 92373";

// call geocode method of the library, no need to call L.esri.Geocoding.geocode() as in vanilla js
ELG.geocode()
  // pass the address
  .text(address)
  .run((err, results, response) => {
    console.log(results.results[0].latlng);
    // retrieve latitude, longitude from related response
    const { lat, lng } = results.results[0].latlng;
    // build a marker using the retrieved address
    L.marker([lat, lng])
      .addTo(mymap)
      .bindPopup(address)
      .openPopup();
});

Демо

...