グーグルマップに問題があります。マップを含むファイルにマップJSをロードし、ajax(およびjquery)を使用してモーダルdivを追加します。次の画像のようなものが私が得たものです:
ただし、モーダルを「閉じて」(div、つまりマップを削除して)再度開こうとすると、問題が発生します。
不完全に見えることは別として、マップはその左上隅がdivから数ピクセル離れていると考えているように見えます。マップを移動しようとすると、コンテンツが更新され、マップの「非表示」(この場合は不幸にも表示)の部分が削除されるため、これを保証します。ここでは、マップを表示するために使用するコードを残します(ただし、これは非常に簡単です)。
var marker = null, geocoder, latLng, map = null;
geocoder = new google.maps.Geocoder();
latLng = new google.maps.LatLng(41.3865, 2.1648);
var myOptions = {
zoom: 16,
center: latLng,
mapTypeId: google.maps.MapTypeId.ROADMAP,
disableDefaultUI: false
};
if(map === null) {
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
}
function clearOverlays() {
if (marker !== null) {
marker.setMap(null);
marker = null;
}
}
function getPosition(address, title) {
clearOverlays();
geocoder.geocode({
address : address,
region : 'es'
},
function (results, status) {
if (status === google.maps.GeocoderStatus.OK) {
var result = results[0];
latLng = result.geometry.location
marker = new google.maps.Marker({
'title': title,
'map': map,
'position': latLng,
'animation': google.maps.Animation.DROP
});
map.setCenter(latLng);
}
}
);
}
getPosition(place.address, place.title);
例のために、とplace
を含むオブジェクトであると仮定しましょう。address
title