• 我通过GoogleMap地址编码服务进行城市定位时发现了一个问题,期盼解答中...


    通过GM的地理编码服务实现定位功能,这是在GM API2.0以后新发布的功能,实现代码片断如下:

    var geocoder = new GClientGeocoder();
    function showAddress(address)
    {
     if(geocoder == null)
      return;

     geocoder.getLatLng(
      address,
      function(point)
      {
       if(point == null)
       {
        alert("抱歉,您输入的地址没有找到!");
        return;
       }
       var messObj=findObj("mess",document);
       if(messObj){
         messObj.innerHTML =point.toString();
       }
       map.setCenter(point);  
      }
     );
    }

    从代码我们可以清楚看到,功能核心类就是:GClientGeocoder 。通过其开放的getLatLng()方法执行地址查询并进行回调,回调函数的参数为结果坐标。获得坐标我们就可以对地图进行中心设置,达到定位地图的目的。

    由此看来编码工作相对简单,我在我的网站已经实现了这个功能,经过试用,发现了一个奇怪的现象:
    试用初期输入我国城市[例如:beijing,shenyang等]的英文进行定位,一点问题都没有,似乎是经过若干次定位后,出现了问题,对我国城市定位无效了,而国外的城市[New york,White house]反复重试都没有发现这个问题。

    在网上搜索相关主题,都没有结果,很郁闷!

    我的GMap应用网址:http://www.gis9.com/gm_locationinfomap.jsp 大家可以在这里测试一下。

    我猜想:由于我使用的Map key是免费的,是不是google对中国地址的搜索次数进行了限制。

    是否有人遇到类似的问题?期盼解答中... ...

    谢谢!

  • 相关阅读:
    Ubuntu18.04下使用pip3.8报错subprocess.CalledProcessError: Command ‘(‘lsb_release‘, ‘-a‘)‘ returned non-ze
    解决报错:ModuleNotFoundError: No module named ‘_sqlite3‘
    shell命令中find的用法
    Ubuntu 中卸载软件
    git使用
    django celery 使用
    Django 学习中遇到的问题
    1
    Mac 下安装brew(文末方法亲测有效)
    经典类与新式类的继承顺序
  • 原文地址:https://www.cnblogs.com/gis9/p/512285.html
Copyright © 2020-2023  润新知