0

我使用其 Javascript API 将以下内容用于 Google 地图:

# HTML markup
<div id="#city_123">
  <div class="map"></div>
</div>

# calling function
marker("#city_123 .map"); // There is only one .map

# marker() function
function marker(shop) {
  var map;
  var mapOptions = {
    zoom: 15,
    mapTypeId: google.maps.MapTypeId.ROADMAP
  };

  $(shop).each(function(index) {  
    map = new google.maps.Map(this, mapOptions);

    var marker = new google.maps.Marker({
      position: new google.maps.LatLng($(this).data("lat"), $(this).data("lng")),
      map: map,
    });

    map.setCenter(marker.getPosition());

  });
}

我尝试了多种方法来删除它,.each因为它没有必要。我只有一个.map。我必须使用类是有原因.map的,因为它实际上是动态创建的,但除此之外。

我怎样才能将其重写为友好?

谢谢。

4

1 回答 1

1

尝试这个:

JS

function marker(shop) {
    var map;
    var mapOptions = {
        zoom: 15,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    map = new google.maps.Map($(shop)[0], mapOptions);
    var marker = new google.maps.Marker({
        position: new google.maps.LatLng($(shop).data("lat"), $(shop).data("lng")),
        map: map,
    });
    map.setCenter(marker.getPosition());
}
于 2013-03-11T14:49:50.753 回答