1

ウェブサイトのさまざまな場所でマーカー画像を使用しています。ユーザーには画像のアップロードのオプションがあります。そのサイズはサイトに適しているかもしれませんが、マーカーの場合は少し大きい場合が多いので、API関数を使用して大きな画像を検出し、サイズを変更したいと思います。

現在の画像サイズを返すAPIを取得できません。コードは次のようになります。

var iconImg = new google.maps.MarkerImage('/'+myTrailers.getIcon(dataitem));
// TODO:  place resize function here **
var marker = new google.maps.Marker({position: pos, map: myMap.map, content: html, icon: iconImg, id: dataitem.unit_id});

これらの関数 googleMapsAPI-MarkerImageを使用してみまし たが、どういうわけか関数が機能しません

OrgSize = iconImg.size();

画像の元のサイズを検出できれば、このような新しいサイズを計算するために使用できます。

if(OrgSize[x] > 20){
    NewSize[x] = 20;
    NewSize[y] = OrgSize[y] * (NewSize[x] / OrgSize[x]);

グーグルマップAPIを使用して画像サイズを取得する方法を知っている人はいますか?またはいくつかのファンキーな代替手段?

どうもありがとう。

4

1 に答える 1

3

JavaScriptを介してこれを行う実用的な方法はありません。参照するsizeプロパティは、アイコンサイズを取得するためではなく、アイコンサイズを指定するために使用されます)。

ユーザーが画像をアップロードしている場合は、サーバー側のコードを使用して必要に応じて画像のサイズを変更するか、サーバー側のコードを使用して画像のディメンションにアクセスし、の一部として送信されるデータに属性としてそれらのディメンションを含めることができますdataItemサーバー上のすべてが標準サイズである場合(つまり、画像がすべて同じサイズである場合)、アイコン画像ごとにアイコンサイズを調整する必要はありません。可変サイズの画像がある場合は、size各画像のプロパティを使用してサイズを宣言してから、scaledSizeプロパティを使用して各画像をそれに応じて拡大縮小する必要があります。

于 2012-04-21T00:47:39.700 に答える