1

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

我有一张来自 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]]);

在此先感谢您的帮助

4

1 回答 1

0

这个测试永远不会起作用: if (latlng !== "50.892374" , "5.992003000000068"){

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

google.maps.LatLng有一个 equals 方法,允许您将其与另一个 google.maps.LatLng 进行比较,但我建议使用几何库进行距离比较(浮点数几乎从不相等)(检查是否2 LatLng 对象“接近”到足够相同)

于 2012-08-23T13:43:50.997 回答