专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Google技术

求 Google Maps V3的标注功能,始终不行

发布时间:2011-07-03 07:10:53 文章来源:www.iduyao.cn 采编人员:星星草
【急】求 Google Maps V3的标注功能,急!始终不行。
大家好,我要做一个功能,已知的是地址,一串地址,比如“广东省 广州市 海珠区 客村”,然后地图打开这个区域的,然后用户鼠标拖动那个标注的到标注点,然后点击提交,得到这一个点的X、Y坐标(PS我这里可能不太理解谷歌的经纬度和X、Y的区别),我需要得到的就是用户标注某个商户的经纬度,经度存为mapx,纬度存为mapy。

我参考了这个示例:http://gmaps-samples-v3.googlecode.com/svn/trunk/draggable-markers/draggable-markers.html

我的程序网页:GoogleMaps.php?location=广东省 广州市 天河区 岗顶天河路631号二楼

这个网页一打开就是然后这个指向 广东省 广州市 天河区,然后用户可以拖动标注去标注某个地址,然后点击按键获取到经纬度。我这个里面不知道的几点就是:


(1)如何让地图一打开地图就在了传入的这个参数location里面或者附近,如果没有传入location,那么就直接跳到该用户所在的城市。
(2)如何标注这个如何实现啊,代码
(3)标注完之后如何获取到这个标注点的经纬度。



------解决方案--------------------
JScript code
<!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>
    <title>谷歌地图 v3</title>
    <script src="http://maps.google.com/maps/api/js?v=3.1&sensor=true" type="text/javascript"></script>
    
    <script type="text/javascript">
        var map; // 地图对象
        var geocoder;
        var marker;
        function init() {
            var coor = new google.maps.LatLng(23.129163, 113.264435);
            map = new google.maps.Map(document.getElementById("map"), { zoom: 12, center: coor, mapTypeControl: false, mapTypeId: google.maps.MapTypeId.ROADMAP });

            geocoder = new google.maps.Geocoder();
            if (geocoder) {
                geocoder.geocode({ 'address': getUrlParam("location") }, function(results, status) {
                    if (status == google.maps.GeocoderStatus.OK) {
                        map.setCenter(results[0].geometry.location);
                        marker = new google.maps.Marker({ map: map, position: results[0].geometry.location, draggable: true });
                    } else {
                        alert("地址解析失败,错误代码: " + status);
                    }
                });
            }
        }
        
        // 获取URL参数
        function getUrlParam(name) {
            var reg = new RegExp("(^|&) " + name + "=([^&]*)(&|$) ");
            var r = window.location.search.substr(1).match(reg);
            if (r != null) return unescape(r[2]); return null;
        }

        function getLocation() {
            var point = marker.getPosition();
            alert("标记的经度是:" + point.lng() + ",纬度是:" + point.lat());
        }
    </script>
</head>
<body onload="init();">
    <div id="map" style="width:800px; height:800px;"></div>
    <input type="button" value="获取坐标" onclick="getLocation()" />
</body>
</html>
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: