<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Geocoding_Reserver.aspx.cs"
Inherits="Samples.Services.Geocoding_Reserver" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>反向地址解析</title>
<style type="text/css">
#maps
{
height: 450px;
}
</style>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false&language=zh-CN"></script>
<script language="javascript" type="text/javascript">
var geocoder; //申明地址解析对象
var map;
var infowindow = new google.maps.InfoWindow();
var marker;
//地图初始化函数
function initialize() {
geocoder = new google.maps.Geocoder(); //实例化地址解析对象
var LatLng = new google.maps.LatLng(40.730885, -73.997383);
var Options = { zoom: 8, center: LatLng, mapTypeId: 'roadmap' };
map = new google.maps.Map(document.getElementById("maps"), Options);
}
//反向地址解析函数,如果解析成功将地图中心设置到该处,并在该处创建标记和信息窗口显示该处地址
function codeLatLng() {
var input = document.getElementById("latlng").value;
var latlngStr = input.split(",", 2);
var lat = parseFloat(latlngStr[0]);
var lng = parseFloat(latlngStr[1]);
var LatLng = new google.maps.LatLng(lat, lng);
geocoder.geocode(
{ "latLng": LatLng }, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
if (results[1]) {
map.setZoom(11);
marker = new google.maps.Marker({
position: LatLng,
map: map
});
infowindow.setContent(results[1].formatted_address);
infowindow.open(map, marker);
} else {
alert("没有相应地址名称!");
}
} else {
alert("不能进行地址反向解析:" + status);
}
}
);
}
//将地图初始化函数绑定到window的load事件
google.maps.event.addDomListener(window, "load", initialize);
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<input id="latlng" type="textbox" value="40.714224,-73.961452">
</div>
<div>
<input type="button" value="反向地址解析" οnclick="codeLatLng()">
</div>
<div id="maps">
</div>
</form>
</body>
</html>