-1
マーカーのlatLngに基づいて私のインフォボックスを配置しようとしていますが、私は位置(latLng)を試しましたが、availは使用しませんでしたし、マーカー位置に対応しないのでpixelOffsetをハードコードしたくない、私はまた、pixelOffset(latLng)、getPositionとsetPositionメソッドを試しました。上記のgoogle infoBoxの位置
どれも右のそれをやっているように見えるん:/
for (var i = data.length - 1; i >= 0; i--){
var Lat = data[i].Item.Coordinate.Lat;
var Lon = data[i].Item.Coordinate.Lon;
var LatLon = new gm.LatLng(jobLat, +jobLon);
var marker = new gm.Marker({
position: LatLon,
map: map,
visible: true
});
var infobox = new InfoBox ({
position: marker.position or LatLon
});
marker.newContent = document.getElementById("infobox_"+data[i].Item.Id);
gm.event.addListener(marker, 'click', (function (marker) {
return function (pin, suppressInfoWindow) {
if (!suppressInfoWindow) {
infobox.setContent(marker.newContent);
infobox.open(map, marker);
}
}
}
resultMarkers.push(marker);
これは、マーカーを作成し、あなたのdata
アレイの上大丈夫
var infoboxWidth = -650/2;
if(getWidth === 'xs'){
infoboxWidth = -320/2;
}
var infobox = new InfoBox({
pixelOffset: new gm.Size(infoboxWidth, -65),
alignBottom: true
});
私はそれを試みましたが、常にマーカーがない間違った場所にinfoBoxを置いていました。 – MrNew
はpixelOffsetを使用しようとしましたが、これはinfoBoxの幅に基づいて動作し、基本的に幅を2で割ってoffSet位置を取得します。しかし、それはモバイルになると私は考えの薄いではありません。 infoBoxは、lgの画面では600pxの幅、モバイルでは320pxの幅であるとします。上記のコードを – MrNew
に追加しました。 – MrNew