2016-07-12 5 views
0

Ich habe mit MapBox herumgespielt und ich habe einige Probleme damit, die GeoLocation API dazu zu bringen, Daten zurück zur Karte zu senden und sie zu aktualisieren.Mapbox Geolocation, wie in Karte geladen?

Das ist, was ich jetzt habe:

mapboxgl.accessToken = 'TOKEN-HERE'; 
    var map = new mapboxgl.Map({ 
     container: 'map', // container id 
     style: 'mapbox://styles/mapbox/streets-v9', 
     center: [-0.968539, 54.562917], 
     zoom: 9 
    }); 

    map.on('style.load', function() { 
     map.addSource("myMap", { 
      "type": "geojson", 
      "data": "https://api.mapbox.com/geocoding/v5/mapbox.places/UK_ADDRESS_HERE.json?country=gb&types=address&autocomplete=true&access_token=TOEKN" 
     }); 

     map.addLayer({ 
      'id': 'test1', 
      'type': 'line', 
      'source': 'myMap', 
      'interactive': true 
     }); 
}); 
+0

und welche Fehler erhalten Sie in Ihrer JS-Konsole? – snkashis

Antwort

1

Die Antwort mit liegen, wie Sie UK_ADDRESS_HERE codieren.

https://api.mapbox.com/geocoding/v5/mapbox.places/UK_ADDRESS_HERE.json


Die request format for the Mapbox Geocding API erfordert, dass da die {query} Parameter einen beliebigen Wert enthalten kann, sollte es URL-kodierte sein.

Das bedeutet, dass eine einfache Geocode-Anfrage wie 10 Downing Street, Westminster mit encodeURIComponent zu 10%20Downing%20Street%2C%20Westminster codiert werden muss.

Versuchen Sie dies und verifizieren Sie, dass Ihre Anfrage korrekt ist.

curl https://api.tiles.mapbox.com/geocoding/v5/mapbox.places/10%20Downing%20Street%2C%20London.json?access_token=${MAPBOX_ACCESS_TOKEN} 
+0

Bitte helfen Sie dabei, https://StackOverflow.com/Questions/47945104/using-mapbox-for-Geolocation-in-HTML –