【问题标题】:How to get the Google Map passing Zone Name?如何获取通过区域名称的谷歌地图?
【发布时间】:2011-03-19 05:36:27
【问题描述】:

我想根据区域名称显示谷歌地图。我在我的 jsp 页面中获得了区域名称(即中国湖,加利福尼亚州 - 美国)。我需要通过它并显示谷歌地图。如何通过 Google javascript API 做到这一点?

提前致谢

【问题讨论】:

    标签: google-maps


    【解决方案1】:

    我找到了解决方案。这是我的代码:

    <script type="text/javascript">
    
    var map = null;
    var geocoder = null;
    
    function initialize() {
      if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("map"));
        map.setUIToDefault();
        geocoder = new GClientGeocoder();
        showAddress("Melapalayam,Tirunelveli,Tamilnadu");
      }
    }
    
    function showAddress(address) {
      if (geocoder) {
        geocoder.getLatLng(
          address,
          function(point) {
            if (!point) {
              alert(address + " not found");
            } else {
              map.setCenter(point, 15);
              var marker = new GMarker(point, {draggable: true});
              map.addOverlay(marker);
              GEvent.addListener(marker, "click", function() {
                  alert(address);
              });
    
            }
          }
        );
      }
    }
    window.onload = initialize;
    
    
        </script>
    
    • 格纳尼亚尔祖拜尔

    【讨论】:

      【解决方案2】:

      您是否尝试将 zonename 作为位置传递给 geoCoder 的函数 getLocations ?

      让我们知道这是否有效。

      编辑:抱歉,稍等片刻。我会发布一些清单。

      function userLocSearch(location){
          userInput = location;
          if (GBrowserIsCompatible()) {
              geocoder = getGeocoder();
              geocoder.getLocations(location,  function(responce){
                  if(responce.Status.code==200){
                      if(responce.Placemark.length==1){
                          //just one result
                          mapInit(responce.Placemark[0].Point.coordinates[1],responce.Placemark[0].Point.coordinates[0],14);
                      }else{
                          //more than one result
                          mapInit(responce.Placemark[0].Point.coordinates[0],responce.Placemark[0].Point.coordinates[1],14);
                          updateInfoText(responce.Placemark.length);
                      }
                  }else{
                  //error
                  //no result
                      geocoder.getLocations("USA",  function(responce){
                          mapInit(responce.Placemark[0].Point.coordinates[1],responce.Placemark[0].Point.coordinates[0],6);
                      });
                  }
              });
          }else{
              //TODO 
              //browser not compartible
          }
          return false;
      }
      

      mapInit 是我的另一个函数。初始化地图的那个。 我粘贴的只是为了通过搜索字符串获取所需的地理坐标

      【讨论】:

      • 感谢您投票否决我 -.- 我在 Google 地图上的 Javascript 中有 500 行类。代码太多,无法全部发送给您。我只是以为您在问如何进行地理编码,而不是如何初始化地图。我用我的答案向你展示了地理编码器。
      • 非常感谢您识别 Geocode javascript。没有打算投票给你。由于我没有通过这段代码解决我的问题,我认为这不是我期望的答案。然后我做了一些研发并找到了解决方案。无论如何感谢您的倡议。
      猜你喜欢
      • 2016-08-12
      • 1970-01-01
      • 2012-04-04
      • 2012-09-18
      • 1970-01-01
      • 1970-01-01
      • 2012-12-27
      • 2018-01-16
      • 1970-01-01
      相关资源
      最近更新 更多