Javascript如果googlemap lat long值为空隐藏div

时间:2012-08-23 13:21:13

标签: javascript

嗨希望有人可以帮我解决这个问题

我有一个包含来自Json文件的动态数据的地图json的数据字段是[[LAT]] [[LONG]]

我想要做的是,如果json文件没有发送值,则mapcontainer div必须关闭。到目前为止我没有工作。

这里是javascript:

<script type="text/javascript">
        function initialize() {
            var latlng = new google.maps.LatLng(50.892374,5.992003);
            var myOptions = {
                zoom: 15,
                streetViewControl: true,
                center: latlng,
                mapTypeId: google.maps.MapTypeId.ROADMAP
            };
            if (latlng !== "50.892374" , "5.992003000000068"){
            alert(latlng)
            var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
            }
            else{
            alert("hide mapcontainer div")
            document.getElementById("mapcontainer").style.visibility = 'none';
            }
        }
        </script>

问题是,无论我做什么,latlng都不会等于我在我的例子中给出的值。

这是我要关闭的div:

  <div class="mapcontainer" id="mapcontainer">
  <div class="themap">
  <div id="map_canvas" style="width:100; height:200px;"></div>
  </div>
  </div>

在我的实际工作中,latlng看起来像这样:     var latlng = new google.maps.LatLng([[LAT]],[[LONG]]);

提前感谢您的帮助

1 个答案:

答案 0 :(得分:0)

此测试永远不会起作用: if(latlng!==“50.892374”,“5.992003000000068”){

您正在将google.maps.LatLng对象与一对字符串进行比较;我希望你能得到一个javascript错误。

google.maps.LatLng有一个等号方法,可让您将其与另一个google.maps.LatLng进行比较,但我建议使用geometry library进行距离比较(浮点数几乎不相等) (检查2个LatLng对象是否“足够接近”)