Google地图不会显示给定langLat的地图

时间:2013-11-27 07:25:37

标签: javascript google-maps google-maps-api-3

我有以下代码根据给定的latLang生成Google Map,但它没有显示任何地图。

我从DB获取latLang并将其存储在隐藏输入中,使用document.getElementById()我获取值并将其分配给地图。但它失败了吗?为什么呢?

(34.686298727073016, 50.92648297548294)

以下是生成地图的Javascript代码:

<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false&language=fa"></script>
<div id='map-canvas' style="width: 500px; height: 500px; border-radius: 10px; -webkit-border-radius: 10px; -moz-border-radius: 10px;">

</div>
<script type="text/javascript">
function initialize() {
    var myLatlng = new google.maps.LatLng(document.getElementById('mapPosition').value);
    var mapOptions = {
        zoom: 8,
        center: myLatlng,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    }
    var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);

    var marker = new google.maps.Marker({
        position: myLatlng,
        map: map,
        title: 'منطقه مورد نظر در نقشه'
    });

    var infowindow = new google.maps.InfoWindow({
      content: "<B>نقطه مورد نظر خود را در نقشه کلیک کنید</B>"
  });
  /*
  google.maps.event.addListener(map, 'click', function(event) {
      console.log(event);
      marker.setPosition(event.latLng);
      document.getElementById('mapPosition').value = event.latLng;
    map.setCenter(event.latLng);
  });*/
}

google.maps.event.addDomListener(window, 'load', initialize);
</script>
<input type="hidden" value="<?php echo $item[0]['latLang']; ?>" name="mapPosition" id="mapPosition" />

2 个答案:

答案 0 :(得分:2)

The api有两个参数,例如

new google.maps.LatLng(-34.397, 150.644)

看起来你正在传递一个

new google.maps.LatLng(document.getElementById('mapPosition').value);

我建议你在这里寻找你的问题。 要么解析值

(34.686298727073016,50.92648297548294)

分为两个参数,或者有两个输入 - 一个用于长,另一个用于lat。

答案 1 :(得分:0)

尝试给出单个lat long值:

myLatLong = new google.maps.LatLng(lat, long)