Ich arbeite an einem Projekt, das eine riesige Menge an Echtzeitdaten pro Sekunde beinhaltet (durch Websockets erreicht). Aus diesem Grund kann Google nicht die API von Google aufrufen, um eine Stadt + Region in eine Long-Link-Koordinate zu konvertieren. Ich bekomme eine Erfolgsquote von 1 bis 100. Gibt es eine unbegrenzte Alternative zu City & Koordinierungsstelle der Google API? Idealerweise ein lokal gespeichertes JSON-Array solcher Daten?Alternative zu Google Maps Geolocation-API
Antwort
Wenn Sie mit einer großen Anzahl von Datenpunkten arbeiten, werden Sie diese normalerweise einmal auf dem Server geocodieren. Dann können Sie die lat/longs zu Ihren Kunden streamen, die Sie verwenden können.
Google hat einen Geocoding web service, den Sie von Ihrem Server verwenden können, aber es gibt ein Anforderungslimit von 2.500/Tag. Wenn das nicht funktioniert, können Sie auch in OSM 's Nominatatim suchen; Mapquest hosts ein Webdienst ohne Grenzen.
Werfen Sie einen Blick auf datasciencetoolkit.org. Sie bieten ein VM-Image/AMI, das Sie auf EC2 hosten können und Geolocation-Aufrufe an Ihren eigenen Server und somit keine API-Limits.
Dann gibt es auch Yahoo Geolocation API, die höhere Grenzen als Google hat.
Sie können einen von Yahoo bereitgestellten Dienst namens YQL verwenden. Dieser Service ist für eine begrenzte Anzahl von Anfragen kostenlos, bis zu 100.000 pro Tag. Dann können Sie den Breiten- und Längengrad der Antwort-XML unter query/results/place/centroid abrufen.
Eine Sache, die ich mit diesem Service bemerkt habe, ist die Stadt Namen müssen genau sein, und es ist möglich, dass es mehrere Ergebnisse gibt.
http://developer.yahoo.com/yql/
Beispiel YQL Abfrage:
http://query.yahooapis.com/v1/public/yql?q=SELECT * FROM geo.places WHERE text="Seattle" and placeTypeName = "Town"
XML Antwort:
<?xml version="1.0" encoding="UTF-8"?>
<query xmlns:yahoo="http://www.yahooapis.com/v1/base.rng" yahoo:count="1" yahoo:created="2012-07-09T16:20:40Z" yahoo:lang="en-US">
<results>
<place xmlns="http://where.yahooapis.com/v1/schema.rng" xml:lang="en-US" yahoo:uri="http://where.yahooapis.com/v1/place/2490383">
<woeid>2490383</woeid>
<placeTypeName code="7">Town</placeTypeName>
<name>Seattle</name>
<country code="US" type="Country">United States</country>
<admin1 code="US-WA" type="State">Washington</admin1>
<admin2 code="" type="County">King</admin2>
<admin3/>
<locality1 type="Town">Seattle</locality1>
<locality2/>
<postal/>
<centroid>
<latitude>47.603561</latitude>
<longitude>-122.329437</longitude>
</centroid>
<boundingBox>
<southWest>
<latitude>47.422359</latitude>
<longitude>-122.472153</longitude>
</southWest>
<northEast>
<latitude>47.745071</latitude>
<longitude>-122.176193</longitude>
</northEast>
</boundingBox>
<areaRank>6</areaRank>
<popRank>12</popRank>
</place>
</results>
</query>
<!-- total: 82 -->
<!-- engine5.yql.mud.yahoo.com -->
- 1. Java: Google Maps Alternative
- 2. Alternative zu Google Benutzerdefinierte Suche
- 3. Google Maps API im Vergleich zu Google Maps Engine?
- 4. Android Studio Google Maps
- 5. Linkmarker zu URL Google Maps
- 6. Add Vorort zu Google Maps
- 7. Google Apps Script: Alternative zu Skripteigenschaften
- 8. Google maps api und gMapsLatLonPicker
- 9. Google Groups alternative
- 10. Alternative für Google AppEngine?
- 11. Google Appengine Datastore Alternative?
- 12. Google-Karte Alternative
- 13. Hinzufügen von benutzerdefinierten Marker zu Google Maps
- 14. Google Maps Polygon zu SVG Pfad
- 15. Google Maps Routenplaner API Weiterleitung zu map.google.com
- 16. Änderung zu Google Maps Api Code
- 17. print json ergebnis zu google maps
- 18. Kachelbezeichnung Google Maps: Entfernung zu Bildschirmdimensionen umwandeln
- 19. Standard-Marker in Google Maps zu klein
- 20. Google Maps-Anzeige Hyperlink zu Ländermarker
- 21. machen google maps zoom passen zu marker
- 22. Google Maps + Anker Scrolltop zu div
- 23. Derzeitiger Standort - Google Maps - Link zu Routenplaner
- 24. Hinzufügen von Text-Overlay zu Google Maps
- 25. Google Maps API directionsService.route unterscheidet sich von Google Maps Wegbeschreibung
- 26. Google Maps Entfernung/Dauer Marker & Labels
- 27. Android Google maps api vs JavaScript Google maps api
- 28. Google Maps-API-Fehler: Google Maps API-Fehler: RefererNotAllowedMapError
- 29. react-native-maps Unterstützung offline google maps
- 30. Google Maps mit Grafschaftsüberlagerung?
Eine Lösung wird die API-Aufruf Grenze nicht zu erhöhen, könnten wir immer mehr Geld kaufen, aber es ist, dass die hohe Anfrage/Sekunde einfach nicht erreichbar ist. Ich stimme zu, dass wir diese Informationen in den gestreamten Daten benötigen, aber das liegt derzeit nicht in unserer Hand. Ich habe auf einen Link zu einem Open-Sourced-Array solcher Informationen gehofft. –
Wenn Sie die Datenquelle selbst nicht ändern können, können Sie den Datenstrom immer als Proxy verwenden. Lassen Sie Ihren Server eine Verbindung zur Datenquelle herstellen, führen Sie die Geocodierung durch und streamen Sie die Daten + Koordinaten dann zu den Clients. – josh3736