想利用googleMapApi实现一个网页应用:
在文本框里输入地点名称(如格林豪泰、拙政园)后,点击button即可显示并标记出世界上的对应地址。如有很多个,那么一下两种方案均可:①给个列表框显示单击后再在地图上显示,②直接在地图上把所有地址都显示并标记。
只需要能简单显示出:地点名称(如格林豪泰、拙政园)或具体地址方位(如苏州市XXX区XXX路)即可。不必搜索经纬度功能及其他功能。
本来想用https://maps.googleapis.com/maps/api/place/textsearch/xml?query=restaurants+in+Sydney&sensor=true&key=AddYourOwnKeyHere这个API来做的,但ajax获取的返回的数据为空。谁能继续的话也可以。
我之前用google.maps.Geocoder()的.geocode({ 'address': address},geoFunc);来做的,具体代码这样:
1 function geo(results, status) {//进行地理解析 2 if (status == google.maps.GeocoderStatus.OK) { 3 map.setCenter(results[0].geometry.location); 4 map.setZoom(15); 5 //目前只显示匹配地址的第一条记录。 6 //若要显示出多条记录,需要做个列表遍历results添加进列表元素,待用户点击元素后再加载具体的坐标 7 var marker = new google.maps.Marker({ 8 map: map, 9 title: '当前经纬度:'+results[0].geometry.location+' 可点击拖动', 10 position: results[0].geometry.location, 11 draggable: true 12 }); 13 14 $('latLngRange').innerHTML=results[0].geometry.viewport; 15 16 } 17 else { 18 // alert("Geocode was not successful for the following reason: " + status); 19 alert("查找出现错误,可能是没有找到对应地址,或是网络问题。请尝试其他地址"); 20 } 21 }
但是对地址名称(如格林豪泰、拙政园)支持不好,只支持具体地址方位(如苏州市XXX区XXX路)。