Hoe de Mapkit js Geocode methode aan te roepen

stemmen
0

Ik ben op zoek naar de Mapkit js Geocode functie te gebruiken, maar ik ben niet zeker hoe deze functie aan te roepen. Hier is mijn code, ik krijg een nul uit alert (data). 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);
}
De vraag is gesteld op 14/08/2018 om 00:54
bron van user
In andere talen...                            


3 antwoorden

stemmen
0

Je bent heel dicht bij het hebben van de informatie die u zoekt. Update uw getResultfunctie als volgt:

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

Wees ervan bewust dat de resultsmatrix meer dan een item kan hebben.

antwoordde op 09/10/2018 om 04:24
bron van user

stemmen
0

Het eerste argument van de callback is fout. Als je geen fouten is null.

geocoder.lookup('New York', function(err, data) {
    console.log(data);
});
antwoordde op 23/01/2019 om 14:31
bron van user

stemmen
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>
antwoordde op 16/12/2019 om 18:51
bron van user

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