-1
var marker1 = new google.maps.Marker({
    position: new google.maps.LatLng(53.385846,-1.471385), 
    map: map,       
    icon: { url:'images/markers.png', size:{height:37,width:32},origin:{x:32,y:0},anchor:{x:15,y:35}
                            },
    draggable:true
}); 

このコードを使用して Google マップにマーカーを追加しましたが、機能しません。draggableパラメータ値を からtrueに変更するとfalse、機能します。

Google マップのバグですか?

4

1 に答える 1

0

アイコンの定義は 、コード例のような匿名のjavascriptオブジェクトではなく、google.maps.Pointおよびgoogle.maps.Sizeオブジェクトの観点からアイコンを定義します。Iconクラスは、新しく非推奨になったMarkerImageクラスの代わりになることに注意してください。

アンカー ポイント

原点 _

scaledSize サイズ

サイズ サイズ

これはうまくいくかもしれません(テストされていません):

var marker1 = new google.maps.Marker({
  position: new google.maps.LatLng(53.385846,-1.471385), 
  map: map,       
  icon: { 
          url:'images/markers.png', 
          size: new google.maps.Size(37,32},
          origin: new google.maps.Point(32,0),
          anchor: new google.maps.Point(15,35)
        },
  draggable:true
}); 

実例

コードスニペット:

var map;
var triangle = null;
var myLatLng = new google.maps.LatLng(53.385846, -1.471385);

function initialize() {

  var mapOptions = {
    center: myLatLng,
    zoom: 14,
    mapTypeId: google.maps.MapTypeId.ROADMAP
  };
  var map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
  var marker1 = new google.maps.Marker({
    position: myLatLng,
    map: map,
    icon: {
      url: 'http://www.geocodezip.com/mapIcons/marker1.png',
      size: new google.maps.Size(20, 34),
      origin: new google.maps.Point(0, 0),
      anchor: new google.maps.Point(10, 34)
    },
    draggable: true
  });
}
google.maps.event.addDomListener(window, 'load', initialize);
html,
body,
#map_canvas {
  margin: 0;
  padding: 0;
  height: 100%;
}
<script src="https://maps.googleapis.com/maps/api/js"></script>
<div id="map_canvas" style="height: 400px; width:500px;"></div>

于 2012-12-25T02:54:49.720 に答える