您的位置:首页 > 编程语言 > Go语言

GoogleMapAPI实例 根据地名定位获取经纬度

2011-05-18 19:35 711 查看
var map;
var geocoder;
var centerChangedLast;
var reverseGeocodedLast;
var currentReverseGeocodeResponse;
var marker = null;
var infowindow = new google.maps.InfoWindow({ content: "" }); //定义一个信息窗

$(function() {
geocoder = new google.maps.Geocoder();
initialize();
// if (window.parent != null) {
// var areaname = parent.GetAreaName();
// if (areaname == "") {
// initialize();
// } else {
// initialize();
// geocode(areaname);
// }
// }

// $("#SearchZone").click(function() {
// var ZoneName = $("#ZoneName").val();
// if (ZoneName == "") {
// alert("请输入所以要查询的地址");
// return;
// } else if (ZoneName != "") {
// geocode(ZoneName);
// }
// });

});

//初始化地图
function initialize() {
var latlng = new google.maps.LatLng(39.917, 116.397);
var myOptions = {
zoom: 8,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map"), myOptions);
}

//地址解析
function geocode(address) {
geocoder.geocode({
'address': address,
'partialmatch': true
}, geocodeResult);
}

function geocodeResult(results, status) {
if (status == 'OK' && results.length > 0) {
map.fitBounds(results[0].geometry.viewport);
//map.setCenter(results[0].geometry.location);
InitResult(results);
}
else {
alert("地址不能解析");

}
}

function InitResult(results) {
//定义一个marker
if (marker == null) {
marker = new google.maps.Marker({
map: map,
position: results[0].geometry.location,
draggable: true
});
}
infowindow.close();
marker.position = results[0].geometry.location;
var mark = marker.getPosition();
var context = "<div style='text-align:left; padding-left:0px; padding-right:0px; text-indent:0px;font-size:16px;'>纬度:" + mark.lat() + "经度:" + mark.lng() + "</div>";
// var infowindow = new google.maps.InfoWindow({ content: context }); //定义一个信息窗
infowindow.content = context;
infowindow.open(map, marker);
// window.parent.SetLat(mark.lat());
// window.parent.SetLng(mark.lng());

//为marker添加点击事件
google.maps.event.addListener(marker, 'click', function() {
infowindow.open(map, marker);
});

//为marker添加事件
google.maps.event.addListener(marker, 'dragstart', function() {
infowindow.close();
});

//为marker添加事件
google.maps.event.addListener(marker, 'dragend', function() {
var mark1 = marker.getPosition();
var context = "<div style='text-align:left; padding-left:0px; padding-right:0px; text-indent:0px;font-size:16px;'>纬度:" + mark1.lat() + "经度:" + mark1.lng() + "</div>";
infowindow.content = context;
infowindow.open(map, marker);
// window.parent.SetLat(mark1.lat());
// window.parent.SetLng(mark1.lng());

});
}

效果图

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: