获取当前位置如果选中复选框

时间:2015-06-08 01:44:25

标签: javascript jquery geolocation

嘿大家我有一个地理定位脚本来获取访客城市和州。我试图运行此脚本,如果用户选择使用此自动功能。如果脚本设置为文档就绪,那么它可以工作,但每次添加点击功能时它都不起作用。我做错了什么?

JS

<script type="text/javascript"
      src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCeLzjWfDaqBze8j7qKJL17XH4ZsMjsTx0&sensor=true">
</script>
<script>
$("#useLocation").click(function(){
    //I'm not doing anything else, so just leave
    if(!navigator.geolocation) return;

    navigator.geolocation.getCurrentPosition(function(pos) {
        geocoder = new google.maps.Geocoder();
        var latlng = new google.maps.LatLng(pos.coords.latitude,pos.coords.longitude);
        geocoder.geocode({'latLng': latlng}, function(results, status) {
            if (status == google.maps.GeocoderStatus.OK) {
                //Check result 0
                var result = results[0];
                //look for locality tag and administrative_area_level_1
                var city = "";
                var state = "";
                for(var i=0, len=result.address_components.length; i<len; i++) {
                    var ac = result.address_components[i];
                    if(ac.types.indexOf("locality") >= 0) city = ac.long_name;
                    if(ac.types.indexOf("administrative_area_level_1") >= 0) state = ac.long_name;
                }
                //only report if we got Good Stuff
                if(city != '' && state != '') {
                    $("#locationText").val(city+", "+state);
                }

            } 
        });

    });
    });

</script>

HTML

 <li><label for="cLocation">Use Current Location?</label> <input type="checkbox" id="useLocation" name="cLocation"> Yes</li>
<li><label for="dLocation">Where Will You Be:</label> <input type="text" name="dLocation" class="shortInput" id="locationText"></li>

我的JS控制台中没有任何关于此功能的内容无效,所以我不确定为什么不行。它什么也没做。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

javascript是否出现在标记中的复选框之后?您可能正在尝试在元素存在之前附加处理程序。