0
これは私の同僚がマップを作成して動作させるために書いたコードです。私はいくつかの問題があります。APIを使用したGoogleマップのマップタイプを取得
function mapstart(maptype,streetview,fulladdress){
streetdisplay = false;
$(function() {
addr = fulladdress;
bool = true;
$('#'+maptype).gmap3({
action: 'getLatLng',
address: fulladdress,
callback: function(result){
if (result){
$(this).gmap3({action: 'setCenter', args:[ result[0].geometry.location ]});
drawmap(maptype,streetview);
} else {
bool = false;
alert('Incorrect address so map cannot be drawn !');
}
}
});
$('#'+maptype).show().gmap3().css('border', '1px solid #000000');
});
}
function drawmap(temp,tempstreet){
if(bool == true){
$('#'+temp).gmap3({
action: 'addMarker',
address: addr,
marker:{},
map:{
center: true,
zoom: 14,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
});
$('#'+tempstreet).click(function(){
countmap++;
if (countmap%2 == 0)
streetdisplay = false;
else
streetdisplay = true;
$('#'+temp).gmap3({
action:'getStreetView',
callback:function(panorama){
var visible = panorama.getVisible();
if (visible) {
panorama.setVisible(false);
} else {
var map = $(this).gmap3('get');
panorama.setPosition(map.getCenter());
panorama.setPov({
heading: 265,
zoom:1,
pitch:0
});
panorama.setVisible(true);
}
}
});
});
} else {
$('#'+temp).gmap3;
}
$('#'+temp).show().gmap3().css('border', '1px solid #000000');
}
他の場所には、現在どのような種類の地図が表示されている必要があります。ロードマップとストリートビューを切り替えるボタンがあります。別のことは、デフォルトで非表示にする必要があるdivにマップをロードしていることです。 mapstart(params)を呼び出すと地図が表示されます。マップをロードして非表示にしてから、他のdivのdivとhideを表示すると、地図が表示されます。現在、私はそれを持っているので、あなたがマップdivを表示するために押すボタンは地図をロードしますが、ボタンを押すたびにマップをリロードしないでください。
私はgetMapTypeId()関数について知っているが、私はここにそれを適用したいどのようにないアイデアを持っていないしました。コードのどこにでも特定のマップオブジェクトは表示されません。 :/もう少し詳しく調べてみましょう。 – Rob
上記を参照すると、gmap3のget-actionは、ストレージ名なしで使用されたときに「google.maps.Map」を返します。 –
よろしくお願いいたします。それはどちらかの方法でロードマップを示し、私はその後何が起こっているかを見ていきます。 – Rob