<%@ 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="反向地址解析" onclick="codeLatLng()">
    </div>
    <div id="maps">
    </div>
    </form>
</body>
</html>

posted on 2010-11-15 15:39  WQL.NET  阅读(134)  评论(0编辑  收藏  举报