リンクがクリックされたときに表示され、別のリンクがクリックされたときに表示されるGoogleマップを設定しようとしています。ディスプレイからマップを表示する場合を除いて、すべて正常に動作します:なし、正しく表示されません。Googleマップ表示:なし問題
私はgoogle.maps.event.trigger(map、 'resize')の使用について読んでいます。しかし、私はそれを追加する方法を知っているJavascriptとjQueryを使って十分に堪能ではないよ。ここ
は、私が使用してきたコードです:。すべてのヘルプははるかに高く評価されるだろう<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 TRANSITIONAL//EN">
<html>
<head>
<title></title>
<style type="text/css">
#viewmap {
position:relative;
width:944px;
float:left;
display:none;
}
#hidemap {
position:relative;
width:944px;
float:left;
display:block;
}
#map_canvas {
position:relative;
float:left;
width:944px;
height:300px;
}
</style>
<script type="text/javascript"
src="http://maps.google.com/maps/api/js?v=3.2&sensor=false">
</script>
<script type="text/javascript">
function initialize() {
var latlng = new google.maps.LatLng(-27.999673,153.42855);
var myOptions = {
zoom: 15,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP,
mapTypeControl: true,
mapTypeControlOptions: {
style: google.maps.MapTypeControlStyle.DROPDOWN_MENU
}
};
var map = new google.maps.Map(document.getElementById("map_canvas"),myOptions);
var contentString = 'blah';
var infowindow = new google.maps.InfoWindow({
content: contentString
});
var marker = new google.maps.Marker({
position: latlng,
map: map
});
google.maps.event.addListener(marker, 'click', function() {
infowindow.open(map,marker);
});
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
<script type="text/javascript">
function toggleDiv1(viewmap){
if(document.getElementById(viewmap).style.display == 'block'){
document.getElementById(viewmap).style.display = 'none';
}else{
document.getElementById(viewmap).style.display = 'block';
}
}
function toggleDiv2(hidemap){
if(document.getElementById(hidemap).style.display == 'none'){
document.getElementById(hidemap).style.display = 'block';
}else{
document.getElementById(hidemap).style.display = 'none';
}
}
</script>
</head>
<body>
<div id="viewmap">
<a href="#" onmousedown="toggleDiv1('viewmap'); toggleDiv2('hidemap');">Hide map</a>
<div id="map_canvas"></div>
</div>
<div id="hidemap">
<a href="#" onmousedown="toggleDiv1('viewmap'); toggleDiv2('hidemap');">View map</a>
</div>
</body>
</html>
、
、あなたはこのようにhiddingにマップを試すことができます:Quintinの
こんにちはJavier、絶対配置を使用せずにそれを行う方法はありますか? google.maps.event.trigger(map、 'resize')の実装方法を知っていますか?私のコードに? –
こんにちは、私はあなたのjavascriptにいくつかのマイナーチェンジを行い、私のためにうまくいきます、私は関数の外に(あなたの場合はtoggleDiv1関数で)他の関数で利用できるようにマップ変数を配置し、 、サイズ変更マップ・イベントをトリガーすることができます。 jQueryを使ってこれらのことを行うことをお勧めしますので、余分なコードを書くことは避けてください。 – javiertoledos
地図の表示にはうまくいくようですが、何らかの理由でそれがどこにあるべきかはわかりません。左にスクロールすると、赤いバルーンが中央に配置されます。地図を最初から見えるようにするとうまくいきます。しかし、divが誰もブロックしなくなると、何かが起こり、それは中心に留まらない。なぜこれがあるのか知っていますか? –