难道仅仅是因为你的 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);
否则,当您说“用户可以键入位置”时,您的意思是您正在对条目进行地理编码吗?例如,用户输入的是“New York”还是“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);