Hogyan kell hívni a Mapkit js Geokód eljárás

szavazat
0

Próbálom használni a Mapkit js Geokód funkció, de nem vagyok biztos benne, hogyan kell hívni ezt a funkciót. Itt a kód, kapok egy null származó alert (adat). 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);
}
A kérdést 14/08/2018 00:54
a forrás felhasználó
Más nyelveken...                            


3 válasz

szavazat
0

Nagyon közel van az az információ, amit keres. Frissítse getResultfüggvény az alábbiak szerint:

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)
}

Legyen tudatában annak, hogy a resultstömb lehet, hogy több mint egy bejegyzést.

Válaszolt 09/10/2018 04:24
a forrás felhasználó

szavazat
0

Az első érv a visszahívás hiba. Ha nincs hiba null.

geocoder.lookup('New York', function(err, data) {
    console.log(data);
});
Válaszolt 23/01/2019 14:31
a forrás felhasználó

szavazat
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>
Válaszolt 16/12/2019 18:51
a forrás felhasználó

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