代码之家  ›  专栏  ›  技术社区  ›  ICR

使用Google Earth API查看位置

  •  3
  • ICR  · 技术社区  · 16 年前

    我试图使用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);
    

    但这个总是放错位置,

    1 回复  |  直到 15 年前
        1
  •  2
  •   Fraser    15 年前

    可能只是因为点y和点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) 付费使用商业地理编码服务以保证准确性。

    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);