我通过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对中国地址的搜索次数进行了限制。
是否有人遇到类似的问题?期盼解答中... ...
谢谢!
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步