【问题标题】:Looking at location with Google Earth API使用 Google Earth API 查看位置
【发布时间】:2009-06-29 23:10:14
【问题描述】:

我正在尝试使用 Google Earth API 创建一个简单的地球视图,其中包含一个搜索字段,用户可以在其中键入位置。当他们点击 go 时,地球会放大他们输入的位置。

我希望视图能够直视他们指定的位置。我试过以下代码:

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

但这总是稍微有点错误的位置,

【问题讨论】:

    标签: javascript geolocation kml google-earth-plugin


    【解决方案1】:

    难道只是你的 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

    顺便说一句,代码看起来 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);
    

    【讨论】:

      猜你喜欢
      • 2018-04-19
      • 1970-01-01
      • 1970-01-01
      • 2022-06-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-22
      • 1970-01-01
      相关资源
      最近更新 更多