2016-04-12 10 views
0

jQuery Google Mapsコードについて簡単な質問があります。jQuery gmapsマーカーinfowindowが開始時に表示されない

マップにマーカーを追加しましたが、インフォボックスはマウスの移動後に開始時に表示されません。ここで

コードです:それは前に、十分に数週間(または数ヶ月)を働いた

marker.infoWindow.open(map.self, marker); 

(function ($) { 
var map; 
var lat = XX.XXXXXX; 
var lng = X.XXXXX; 
var htmlcontent = 'CONTENT'; 
$(document).ready(function(){ 
if (document.getElementById("map")) { 
    map = new GMaps({ 
    el: '#map', 
    lat: lat, 
    lng: lng, 
    zoomControl : true, 
    zoomControlOpt: { 
     style : 'SMALL', 
     position: 'TOP_LEFT' 
    }, 
    panControl : true, 
    streetViewControl : false, 
    mapTypeControl: true, 
    overviewMapControl: true 
    }); 

    var marker = map.addMarker({ 
    lat: lat, 
    lng: lng, 
    title: 'THE TITLE', 
    infoWindow: { 
     content: htmlcontent 
    }, 
    mouseover: function(e){ 
     this.infoWindow.open(this.map, this); 
    } 
    }); 

    marker.infoWindow.open(map.self, marker); 
    map.setCenter(XX.XXXXXX, X.XXXXXX); 
}; 
}); 
})(jQuery); 

だから、これは私が持つ問題を抱えている部分です。

Iは、マーカーの情報ウィンドウを修正するためにどのようにコンソール

infowindow.js:4 Uncaught TypeError: Cannot read property 'get' of undefined 

と、この警告

Google Maps API warning: NoApiKeys https://developers.google.com/maps/documentation/javascript/error-messages#no-api-keys 

にこのエラーが出るのだろうか?

編集:マーカーのポップアップがまったく中央にないため、マーカーの中心を個別に設定します。

EDIT2:追加されましたAPIキー、ないエラーや警告が、マーカーの情報ウィンドウが開始

答えて

1

では表示されませんgoogle.maps.Mapオブジェクトがmap.mapです:

コードスニペット:

(function($) { 
 
    var map; 
 
    var lat = 42; 
 
    var lng = -72; 
 
    var htmlcontent = 'CONTENT'; 
 
    $(document).ready(function() { 
 
    if (document.getElementById("map")) { 
 
     map = new GMaps({ 
 
     el: '#map', 
 
     lat: lat, 
 
     lng: lng, 
 
     zoomControl: true, 
 
     zoomControlOpt: { 
 
      style: 'SMALL', 
 
      position: 'TOP_LEFT' 
 
     }, 
 
     panControl: true, 
 
     streetViewControl: false, 
 
     mapTypeControl: true, 
 
     overviewMapControl: true 
 
     }); 
 

 
     var marker = map.addMarker({ 
 
     lat: lat, 
 
     lng: lng, 
 
     title: 'THE TITLE', 
 
     infoWindow: { 
 
      content: htmlcontent 
 
     }, 
 
     mouseover: function(e) { 
 
      this.infoWindow.open(this.map, this); 
 
     } 
 
     }); 
 

 
     marker.infoWindow.open(map.map, marker); 
 
     map.setCenter(42, -72); 
 
    }; 
 
    }); 
 
})(jQuery);
html, 
 
body, 
 
#map { 
 
    height: 100%; 
 
    width: 100%; 
 
    margin: 0px; 
 
    padding: 0px 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://hpneo.github.io/gmaps/gmaps.js"></script> 
 
<script src="https://maps.googleapis.com/maps/api/js"></script> 
 
<div id="map"></div>

うまく機能
+0

!これありがとう。それに気付かなかった...マーカーではなく情報ウィンドウを中央に置くアイデアはありますか? – Neme

+0

それは別の質問です。 – geocodezip

+0

ありがとう、ありがとう.. – Neme

関連する問題