Как вызвать MapKit метод Geocode расслоение плотной

голоса
0

Я пытаюсь использовать MapKit функцию Геокодирования расслоения плотного, но я не знаю , как назвать эту функцию. Вот мой код, я получаю нуль от тревоги (данные). https://developer.apple.com/documentation/mapkitjs/mapkit/geocoder/2973884-lookup

var geocoder = new mapkit.Geocoder({
    language: en-GB,
    getsUserLocation: true
});

geocoder.lookup(450 Serra Mall, Stanford, CA USA, getResult);

function getResult(data) {
    alert(data);
}
Задан 14/08/2018 в 00:54
источник пользователем
На других языках...                            


3 ответов

голоса
0

Вы очень близки к тому , информацию , которую вы ищете. Обновите свою getResultфункцию следующим образом :

function getResult(){
    // Make the results accessible in your browser's debugging console so you can see everything that was returned
    console.log(arguments)

    // The results are returned in an array. For example, to get the latitude and longitude
    var lat = arguments[1].results[0].coordinate.latitude
    var lng = arguments[1].results[0].coordinate.longitude

    // Show the results in HTML
    var pre = document.createElement('pre');
    pre.innerHTML = "Latitude: " + lat + " / Longitude: " + lng;
    document.body.appendChild(pre)
}

Имейте в виду , что resultsмассив может иметь более чем одну запись.

Ответил 09/10/2018 в 04:24
источник пользователем

голоса
0

Первый аргумент обратного вызова ошибки. Если у вас нет ошибок равна нулю.

geocoder.lookup('New York', function(err, data) {
    console.log(data);
});
Ответил 23/01/2019 в 14:31
источник пользователем

голоса
0
 <!DOCTYPE html>
 <html>
 <head>
 <meta charset="utf-8">

 <script src="https://cdn.apple-mapkit.com/mk/5.x.x/mapkit.js"></script>

  <style>
   #map {
     width:  100%;
     height: 400px;
   }
  </style>
 </head>

  <body>
    <div id="dvResult" style="width: 100%; height: 20px"></div>
    <div id="map"></div>

  <script>
    mapkit.init({
     authorizationCallback: done => { 
        done('your token');
     },
     language: "es"
   });       

   var mGeocoder = new mapkit.Geocoder({ language: "en-GB", 
                                     getsUserLocation: true });

   mGeocoder.lookup("1000 Coit Rd, Plano TX 75050", (err, data) => {

  if(err)
    alert(err);
  else
  {
    console.log(data);  

    var lat = data.results[0].coordinate.latitude;
    var lng = data.results[0].coordinate.longitude;

    var dvResult = document.getElementById('dvResult');
    dvResult.innerHTML = "Lat: " + lat + " / Lng: " + lng;
 }
});
 </script>
 </body>
 </html>
Ответил 16/12/2019 в 18:51
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more