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());
});
}
效果图
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());
});
}
效果图
相关文章推荐
- Google Map API 依据地名输出经纬度信息
- flex下使用google api获取对应经纬度的地名
- Android Google Map实例 - MD5 、Google Map API Key获取(Android mapview)
- 利用HTML5中Geolocation获取地理位置调用Google Map API在Google Map上定位
- Android Google Map实例 - MD5 、Google Map API Key获取(Android mapview)
- Android Google Map Api Key获取
- 地理编码反地理编码, 根据地名获取经纬度等信息
- 【原创】稻歌Google地名经纬度批量获取工具 免费下载使用
- iOS 根据经纬度获取地名,根据地名获取经纬度
- 获取 Google Map Api key的方法
- iOS【根据经纬度获取地名,根据地名获取经纬度】
- 高德地图根据地名获取经纬度
- 获取移动手機基站ID并通过google API获取经纬度等参数
- 获取google Map API Key方法
- android定位已获取经纬度,上传google解析后textview不显示,基础问题,求大神解答~~>_<`
- 使用Java根据经纬度获取Google天气预报
- Google Map API 密钥获取方式
- googleMap API及调用实例
- 根据经纬度获取地名,根据地名获取经纬度
- keytool输出sha1,造成Google Map API Key无法获取的解决办法