2013-02-07 29 views
0

Bassicly即时通讯在Google地图中使用地理定位功能,以便将地址转换为坐标。地理位置如何从随机字符串中获取地址

我明白如何做到这一点,我得到它正常工作,但这是基于用户输入,所以如果用户输入随机信息,如“NW1 hello blabla”,isit可能获得谷歌地图阅读字符串和注意哪些词是实际地址。

地理位置代码

var place = "New York Hello"; // I want to enter any kind of string and have gmaps to understand it 

geocoder = new GClientGeocoder(); 

geocoder.getLatLng(place, function(point) { (!point) { 

alert(place + " not found"); 
} else { 

var info = "<h3>"+place+"</h3>Latitude: "+point.y+" Longitude:"+point.x; 

var marker = new GMarker(point); 

map.addOverlay(marker); 

marker.openInfoWindowHtml(info); 
} }); 
+1

为什么负面评级至少知道答案之前,你判断它大声笑 –

+0

你的代码看起来像谷歌地图API V2(尽管你标记这个谷歌地图-API -3),这是弃用,并将在2013年5月完全停止工作。你应该升级到API v3。 – duncan

+0

我认为你的问题是不可能做到的,至少没有非常重要的正则表达式。你如何定义一个地址是什么样的?在你的第一个例子中,三个词中的两个是地名。在第二个例子中,两个字母和一个数字=邮政编码。你将如何定义可能是来自''xy9 foo bar blah ab1 abc xyz blablah'''的地址字符串? – duncan

回答

1

这就是地理编码器是专门做(得到一个字符串,看起来像一个地址,并返回一个位置,而不是“随机”字符串)。但是如果用户输入垃圾,你会得到垃圾。如果字符串看起来像地址(并且存在匹配的条目),则地理编码器会执行合理的工作。