Pregunta

Estoy tratando de utilizar la API de Google Earth para crear una vista sencilla del mundo con un campo de búsqueda en la que el usuario puede escribir una ubicación. Cuando llegan a ir, el mundo va a hacer un zoom en la ubicación que tecleada.

Me gustaría que el fin de estar mirando hacia abajo en la ubicación que especifica. He probado el código siguiente:

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

Pero esto siempre va a poco el lugar equivocado,

¿Fue útil?

Solución

Podría ser simplemente que usted tiene Punto.y y punto.x al revés?

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

En su defecto, cuando se dice 'el usuario puede escribir una ubicación' Qué quiere decir que está geocodificando una entrada? Por ejemplo son los usuarios que entran en "Nueva York" o "M20 1LL", por ejemplo? Si es así usted debe darse cuenta de que la codificación geográfica no es una ciencia exacta y que los resultados no siempre son exactas (especialmente con servicios de geocodificación libres).

Hay dos soluciones reales, si este es el caso;

1) pagar para utilizar un servicio de geocodificación comercial para garantizar la precisión.

2) Construir su propia base de datos o caché que contiene las respuestas de codificación geográfica pre-calculados de lugares 'clave'. http://code.google.com/apis/ maps / documentation / javascript / v2 / services.html # Geocoding_Caching

Por cierto, el código es AOK ... aparte del doble cero (00) para la inclinación ...

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);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top