Просмотр местоположения с помощью Google Планета Земля API - PullRequest
3 голосов
/ 30 июня 2009

Я пытаюсь использовать API Google Планета Земля для создания простого представления о земном шаре с полем поиска, в котором пользователь может ввести местоположение. Когда они нажмут кнопку «Го», глобус увеличит место, в которое они ввели.

Мне бы хотелось, чтобы вид смотрел прямо вниз в указанном месте. Я пробовал следующий код:

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

Но это всегда немного неверно,

1 Ответ

2 голосов
/ 09 сентября 2010

Может ли быть просто, что у вас есть point.y и point.x неправильно?

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

В противном случае, когда вы говорите «пользователь может ввести местоположение», вы подразумеваете, что геокодируете запись? Например, пользователи вводят "Нью-Йорк" или "M20 1LL", например? Если это так, вы должны понимать, что геокодирование не является точной наукой и что результаты не всегда точны (особенно при использовании бесплатных услуг геокодирования).

Есть два реальных решения, если это так;

1) Плата за использование коммерческого сервиса геокодирования для гарантии точности.

2) Создайте свою собственную базу данных или кеш, который содержит предварительно вычисленные ответы геокодеров о «ключевых» местах. http://code.google.com/apis/maps/documentation/javascript/v2/services.html#Geocoding_Caching

Кстати, код выглядит АОК ... кроме двойного нуля (00) для наклона ...

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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...