如何根据asp.net中的邮政编码在页面中获取动态地图?

时间:2012-04-12 04:54:08

标签: javascript asp.net google-maps google-maps-api-3

我的网站需要一个谷歌地图模块。地图应根据postcotcode显示。邮政编码将自动转换为其地址/纬度&经度。

1 个答案:

答案 0 :(得分:0)

我在PHP中做到了..请找到代码..做一个AJAX调用,这将返回纬度和经度..比如

$address = $this->input->post('address');
        $output = array();

        $address = str_replace(" ", "+", $address);
        $region = "IND";
        $json = file_get_contents("http://maps.google.com/maps/api/geocode/json?address=$address&sensor=false&region=$region");

        $json = json_decode($json);

        if (!empty($json->{'results'}[0]->{'geometry'}->{'location'}->{'lat'})) {
            $output['latitude'] = $json->{'results'}[0]->{'geometry'}->{'location'}->{'lat'};

            $output['longitude'] = $json->{'results'}[0]->{'geometry'}->{'location'}->{'lng'};


return $output;
        }

然后用返回的纬度&设置位置。使用谷歌地图API的经度

//var latlng = new google.maps.LatLng(-104.017031, 15.373535);
       var latlng = new google.maps.LatLng(latitude,longitude);
        var map = new google.maps.Map(document.getElementById('map'), {
        center: latlng,
        zoom: 13,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    });


     var marker = new google.maps.Marker({
        position: latlng,
        map: map,
        title: 'Set lat/lon values for this property',
         raiseOnDrag: true,
        draggable: true
    });
    google.maps.event.addListener(marker, 'dragend', function(a) {
        console.log(a);

        $('#latitude').val(a.latLng.lat().toFixed(4));
        $('#longitude').val(a.latLng.lng().toFixed(4));

       // var div = document.createElement('div');
       // div.innerHTML = a.latLng.lat().toFixed(4) + ', ' + a.latLng.lng().toFixed(4);
       // document.getElementsByTagName('body')[0].appendChild(div);
    });

请在您的信息页中包含google map.js文件

希望这有帮助