0

私はそのJavascriptAPIを使用して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必要がないので、削除する方法をたくさん試しました。私は1つしか持っていません.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 に答える