Ich glaube, Sie Tiger/Line files benötigen, wie in diesem answer verwiesen. Sie können die Daten zu generate polygons verwenden. Verwenden Sie Geocoder.geocode
, um nach Städtenamen zu suchen. Hier ist eine Versprechen basierte Funktion, die ich verwende:
function locateAddress(address) {
var deferred = $q.defer();
if(!address) { $q.resolve(null); return; }
var geocoder = new google.maps.Geocoder();
var a = address;
if(_.isObject(a)) {
a = (a.line1 || '') + ' ' + (a.city || '') + ' ' + (a.state || '') + ' ' + (a.zip || '');
}
geocoder.geocode({ 'address' : a}, function(results, status) {
if(status === 'ZERO_RESULTS') {
deferred.resolve(null);
return;
}
var c = results[0].geometry.location;
deferred.resolve({latitude: c.lat(), longitude: c.lng()});
}, function(err) {
deferred.reject(err);
});
return deferred.promise;
}
Es gibt keine API (derzeit), die diese Daten bereitstellt. – geocodezip
Hallo Downvoters und Closers! ** Externe APIs sind strikt am Thema **. Wenn Sie ein Problem mit der Struktur der Frage haben, lassen Sie es uns in den Kommentaren wissen! Wenn für ein Feature derzeit keine API vorhanden ist, ist dies immer noch eine gültige Antwort. Wenn sich dies bei Google ändert, kann diese Frage mit einer neuen Antwort aktualisiert werden, in der erläutert wird, wie diese neue API verwendet wird. –
Ich freue mich auch auf eine API – Daniel