Question

Je suis en train d'utiliser l'API Google Earth pour créer une vue simple du monde avec un champ de recherche dans lequel l'utilisateur peut saisir un emplacement. Quand ils enfourchez, le monde va zoomer sur l'endroit où ils tapés.

Je voudrais que la vue à la recherche vers le bas sur l'endroit où ils précisé. J'ai essayé le code suivant:

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

Mais cela va toujours un peu au mauvais endroit,

Était-ce utile?

La solution

pourrait-il simplement que vous avez point.y et point.x dans le mauvais sens?

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

A défaut, quand vous dites « l'utilisateur peut saisir un emplacement » voulez-vous dire que vous géocodage une entrée? Par exemple sont les utilisateurs qui entrent dans « New York » ou « M20 1LL » par exemple? Si oui, vous devez réaliser que le géocodage est pas une science exacte et que les résultats ne sont pas toujours précis (en particulier avec les services de géocodage gratuits).

Il existe deux solutions réelles si tel est le cas;

1) Payer à utiliser un service de géocodage commerciale pour garantir la précision.

2) Construisez votre propre base de données ou le cache qui contient des réponses géocodeur pré-calculées des lieux « clés ». http://code.google.com/apis/ cartes / documentation / javascript / v2 / services.html # Geocoding_Caching

BTW le code semble AOK ... à part le double zéro (00) pour l'inclinaison ...

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);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top