0

Jquery Mobile で使用している Google マップのマップ マーカーに情報ウィンドウのコンテンツを作成するのに忙しく、情報ウィンドウを自動的に開くことができないことがわかりました。

現時点ではクリックイベントで開きますが、ロードイベントは効果がありません。

動作する私の現在のコードは次のとおりです。

$('#map_canvas').gmap({
 'center': '-26.083478,28.092296',
 'zoom': 15,
 'disableDefaultUI': true
  }).bind('init', function (ev, map) {
   $('#map_canvas').gmap('addMarker', {
    'position': '-26.083478,28.092296',
    'icon': 'images/map_logo.png',
    'bounds': false
   }).click(function () {
    $('#map_canvas').gmap('openInfoWindow', {
     'content': '<div id="siteNotice">' +
     '</div>' +
     '<h1 id="firstHeading" class="firstHeading">Lemon Decor</h1>' +
     '<div id="bodyContent">' +
     '<p>Unit 17, Olympia Gardens<br />' +
     'Olympia Street <br />' +
     'Marlboro</p>' +
     '<p> Tel: 011 262 4116<br />' +
     'Fax: 086 697 4110<br />' +
     'Email: <a href="mailto:info@lemondecor.co.za">info@lemondecor.co.za</a></p>' +
     '</div>' +
     '</div>'
   }, this);
 });
});

コードを次のように変更すると

$('#map_canvas').gmap({
 'center': '-26.083478,28.092296',
 'zoom': 15,
 'disableDefaultUI': true
 }).bind('init', function (ev, map) {
  $('#map_canvas').gmap('addMarker', {
   'position': '-26.083478,28.092296',
   'icon': 'images/map_logo.png',
   'bounds': false
 }).load(function () {
  $('#map_canvas').gmap('openInfoWindow', {
   'content': '<div id="siteNotice">' +
   '</div>' +
   '<h1 id="firstHeading" class="firstHeading">Lemon Decor</h1>' +
   '<div id="bodyContent">' +
   '<p>Unit 17, Olympia Gardens<br />' +
   'Olympia Street <br />' +
   'Marlboro</p>' +
   '<p> Tel: 011 262 4116<br />' +
   'Fax: 086 697 4110<br />' +
   'Email: <a href="mailto:info@lemondecor.co.za">info@lemondecor.co.za</a></p>' +
   '</div>' +
   '</div>'
  }, this);
 });
});

load イベントは効果がありません。これに関するアイデアはありますか?

4

1 に答える 1

0

.load()イベントメソッドではありません。AJAXリクエストを発火するメソッドです。

マップがロードされたときにインフォボックスを開きたい場合は、マップがロードされた後にそれを行う必要があります。私は使用していませんgmapが、Google Maps API を使用すると、次のようになります。

google.maps.event.addListener(map, 'idle', function() {
    // open info window
});
于 2013-04-04T14:39:57.373 に答える