2016-06-10 14 views
2

Ich möchte wissen, ob ein Punkt an Land oder Wasser ist mit Google Maps Geocodierung API.wissen, ob ein Punkt an Land oder Wasser ist mit Google Maps api

Wenn ich meinen Koordinatenpunkt als (40, -74) auf Wasserkörper gebe, bekomme ich immer noch die Adresse, die unten gezeigt wird.

die Adresse lautet: 1416 Highland Ave, Cinnaminson, NJ 08077, USA Ergebnisse [0] .geometry.locationType: ROOFTOP Ergebnisse [0] .types [0] .toString(): street_address (was sein muss "natural_feature")

Ich benutze Java-Client-Bibliothek, um dies zu tun. Jeder kann mir helfen, weil ich hier angekommen bin und meine Aufgabe bald abgeben muss. Danke im Voraus.

+0

Ich denke, das [SO Frage] (http://stackoverflow.com/questions/9644452/verify-if-a-point-is-land-oder-water-in-google-maps) kann Ihre Frage beantworten. – KENdi

+0

Mögliches Duplikat von [Überprüfen Sie, ob ein Punkt in Google Maps Land oder Wasser ist] (https://stackoverflow.com/questions/9644452/verify-if-a-point-is-land-or-water-in-google- Karten) – stuyam

Antwort

0

Sie können Ergebnisse der umgekehrten Geokodierung nach Ergebnistyp und Positionstyp filtern. Im Ergebnistyp können Sie nach "natural_feature" suchen, und der Positionstyp sollte "GEOMETRIC_CENTER" oder "APPROXIMATE" lauten, um eine beliebige ROOFTOP-Adresse auszuschließen, die in der Nähe eines bestimmten Punkts auf dem Land liegen kann.

haben Sie einen Blick auf die folgende Anfrage:

https://maps.googleapis.com/maps/api/geocode/json?latlng=40%2C-74&result_type=natural_feature&location_type=GEOMETRIC_CENTER%7CAPPROXIMATE&key=YOUR_API_KEY

Die ersten beiden Elemente in Reaktion sind:

  • Nordatlantik (Typ: natural_feature, Platz ID: ChIJeQ3JDsMo3QoRBGVpwFckZUQ)
  • Atlantischer Ozean (Typ: natural_feature, Ort ID: ChIJ_7hu48qBWgYRT1MQ81ciNKY)

Nun, wenn ich die gleiche Anforderung für den Punkt auf dem Land ausführen:

https://maps.googleapis.com/maps/api/geocode/json?latlng=40.044043%2C-74.124069&result_type=natural_feature&location_type=GEOMETRIC_CENTER%7CAPPROXIMATE&key=YOUR_API_KEY

Das erste Ergebnis wird 'Drum Point Rd, Brick, NJ 08723, USA' vom Typ Route.

Ich hoffe, es hilft.

+0

Es funktionierte für mich, aber es dauerte einige Zeit, um mit Java-Client zu schreiben. Danke :) –

+0

Hallo @xomena es funktionierte gut vorher. Aber jetzt, als ich versuchte, es zu überarbeiten, erhalte ich Zero_results, indem ich die obige URL benutze. Hat Google Maps es eingeschränkt? oder mache ich einen Fehler? Bitte informieren Sie mich diesbezüglich –

+0

Ich bin mir nicht sicher, ob es Änderungen auf der Google-Seite gibt. Ich kann sehen, dass es eine [feature request] (https://code.google.com/p/gmaps-api-issues/issues/detail?id=4759) ähnlich Ihrer Frage gibt. Es sieht so aus, als ob es in diesem FR eine neue Aktivität gibt. – xomena