167

マーカーのiconプロパティに画像を読み込むと、元のサイズで表示されます。元のサイズは、本来のサイズよりもはるかに大きくなっています。

標準のサイズを小さくしたいのですが。これを行うための最良の方法は何ですか?

コード:

function addMyPos(latitude,longitude){
  position = new google.maps.LatLng(latitude,longitude)
  marker = new google.maps.Marker({
    position: position,
    map: map,
    icon: "../res/sit_marron.png"
  });
}
4

7 に答える 7

72

コメントで述べたように、これはドキュメント付きの Icon オブジェクトを支持する更新されたソリューションです。

Icon オブジェクトを使用する

var icon = {
    url: "../res/sit_marron.png", // url
    scaledSize: new google.maps.Size(50, 50), // scaled size
    origin: new google.maps.Point(0,0), // origin
    anchor: new google.maps.Point(0, 0) // anchor
};

 posicion = new google.maps.LatLng(latitud,longitud)
 marker = new google.maps.Marker({
  position: posicion,
  map: map,
  icon: icon
 });
于 2013-02-26T18:29:55.267 に答える
20

アイコンの MarkerImage は廃止されました

Google Maps JavaScript API のバージョン 3.10 までは、複雑なアイコンは MarkerImage オブジェクトとして定義されていました。Icon オブジェクト リテラルは 3.10 で追加され、バージョン 3.11 以降では MarkerImage を置き換えます。アイコン オブジェクト リテラルは MarkerImage と同じパラメーターをサポートするため、コンストラクターを削除し、以前のパラメーターを {} でラップし、各パラメーターの名前を追加することで、MarkerImage を Icon に簡単に変換できます。

Phillippe のコードは次のようになります。

 var icon = {
     url: "../res/sit_marron.png", // url
     scaledSize: new google.maps.Size(width, height), // size
     origin: new google.maps.Point(0,0), // origin
     anchor: new google.maps.Point(anchor_left, anchor_top) // anchor 
 };

 position = new google.maps.LatLng(latitud,longitud)
 marker = new google.maps.Marker({
  position: position,
  map: map,
  icon: icon
 });
于 2013-08-14T12:46:27.963 に答える
1

だから私はちょうどこれと同じ問題を抱えていましたが、少し異なりました。Philippe Boissonneaultが提案するように、オブジェクトとしてアイコンを既に持っていましたが、SVG 画像を使用していました。

私にとってそれを解決したのは
、SVG画像からPNGに切り替え、使用するものの2倍のサイズの画像を持つことについてCatherine Nyoに従ってください。

于 2019-01-11T04:30:20.143 に答える