我想使用谷歌地球API来创建地球的一个简单视图与搜索领域,用户可以键入一个位置。当他们打去,地球会拉近他们键入的位置。

我想视图以寻找他们指定的位置垂直向下。我曾尝试下面的代码:

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

但是,这总是转到略微错误的位置,

有帮助吗?

解决方案

难道仅仅是你有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/地图/文档/ JavaScript的/ V2 / services.html#Geocoding_Caching

顺便说一句代码看起来AOK ...除了用于倾斜双零(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);
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top