マーカーをクリックすると、情報ウィンドウがマップに正しく表示されません。ウェブサイトはこちらです。
また、マップコントロールも適切に表示されないことにも気づくでしょう。
var map;
var locations = <?php print json_encode(di_get_locations()); ?>;
var markers = []
jQuery(function($){
var options = {
center: new google.maps.LatLng(51.840639771473, 5.8587418730469),
zoom: 8,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map_canvas"), options);
for (var i=0; i < locations.length;i++) {
makeMarker(locations[i]);
}
centerMap();
});
function makeMarker(location) {
var markerOptions = {map: map, position: new google.maps.LatLng(location.lat, location.lng)};
var marker = new google.maps.Marker(markerOptions);
markers.Push(marker);
var content = '';
var infowindow = new google.maps.InfoWindow(
{ content: "test",
size: new google.maps.Size(50,50),
disableAutoPan : true
});
google.maps.event.addListener(marker, 'click', function(e) {
infowindow.open(map,marker);
});
}
function centerMap() {
map.setCenter(markers[markers.length-1].getPosition());
}
注:私はGoogle Maps JS V3を使用しています。
この問題は、style.css内のこの形式によって強制されます。
img {
height: auto;
max-width: 100%;/* <--the problem occurs here*/
}
これをstyle.cssの最後に追加して、マップ内の画像にデフォルト値を適用します。
#map_canvas img{max-width:none}
問題は、img{ max-width: 100%; }
をユニバーサルとして使用している可能性があります。
これをCSSに試してみてください
.gmnoprint img {
max-width: none;
}
Magentoのケースでは、PROTOTYPEライブラリとの競合のため、Googleマップのズームコントロールが表示されませんでした。
私はほとんどのインターネットの回答を試しましたが、それは役に立ちません(機能していません)。カスタムCSSを追加し、マップのズームコントロールが表示され、マーカーのクリックも有効になります。 この回答はこの質問にも役立ちます
。gmnoprint { display:block!important } 。gmnoprint.gm-bundled-control.gm-bundled-control-on -bottom { display:block!important; } 。gm-tilt { display:none; } .gm-iv-address { 高さ:56px; }
私は問題を解決しました:
.gmnoprint img {
max-height: none;
}
の代わりに max-width
。
ありがとう