Frage

Ich versuche, den Google Earth-API zu verwenden, um eine einfache Ansicht der Welt mit einem Suchfeld zu erstellen, in dem der Benutzer einen Ort eingeben. Wenn sie gehen treffen, wird der Globus auf dem Standort vergrößern sie eingegeben haben.

Ich möchte den Blick nach unten sie, die am Standort, der gerade zu sein. Ich habe den folgenden Code versucht:

var lookAt = ge.createLookAt('');
lookAt.set(point.y, point.x, 600, ge.ALTITUDE_RELATIVE_TO_GROUND, 0, 00, 0);
ge.getView().setAbstractView(lookAt);

Aber das geht immer leicht die falsche Stelle,

War es hilfreich?

Lösung

Könnte es einfach sein, dass Sie point.y und point.x falsch herum?

// latitude, longitude, altitude, altitudeMode, heading, tilt, range
lookAt.set(point.x, point.y, 600, ge.ALTITUDE_RELATIVE_TO_GROUND, 0, 0, 0);

Gelingt das nicht, wenn Sie sagen, ‚der Benutzer einen Ort geben kann‘ meinen Sie Sie einen Eintrag Geocodierung? Zum Beispiel sind die Benutzer „New York“ oder „M20 1LL-“ zum Beispiel eingeben? Wenn dem so ist, sollten Sie erkennen, dass die Geocodierung ist keine exakte Wissenschaft, und dass die Ergebnisse sind nicht immer korrekt (besonders mit kosten Geokodierung Dienstleistungen).

Es gibt zwei echte Lösungen, wenn dies der Fall ist;

1) Zahlen Kommerzielle Geocoding Service nutzen Genauigkeit zu gewährleisten.

2) Erstellen Sie Ihre eigene Datenbank oder Cache, der im Voraus berechneten Geocoder Antworten von ‚Schlüssel‘ Orte enthält. http://code.google.com/apis/ Karten / Dokumentation / javascript / v2 / services.html # Geocoding_Caching

BTW Der Code sieht AOK ... abgesehen von der Doppel-Null (00) für die Neigungs ...

var lookAt = ge.createLookAt('');

// latitude, longitude, altitude, altitudeMode, heading, tilt, range
lookAt.set(point.y, point.x, 600, ge.ALTITUDE_RELATIVE_TO_GROUND, 0, 0, 0);

ge.getView().setAbstractView(lookAt);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top