2009-06-29 54 views
3

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

我想以寻找他们指定的位置直线下降。我曾尝试下面的代码:

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

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

回答

2

难道仅仅是你有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

BTW代码看起来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);