2016-04-01 24 views
1

Yerleşim sorgusu kullanılarak yerleştirilen her bir işaretin üzerine bir infoWindow tıklatmaya çalışıyorum. Konumu bulmak için Geolocation kullanıyorum ve ardından yakındaki pub'ların tümünü gösteriyorum. Her bir işaretçiyi tıklayabilmek ve pub'ın adını (place.name) görüntüleyebilmek istiyorum.Google Maps/Places API JavaScript - undefined 'setContent' özelliği okunamıyor

İşaretçiyi tıklattığınızda konsoldaki hata "undefined 'setContent' özelliği okunamıyor".

// Google Rehber // ince

function initMap() { 
myLatLng = new google.maps.LatLng(lat,long); 
var Options = { 
    scrollwheel: false, 
    zoom:15, 
    center: myLatLng, 
    disableDefaultUI: true, 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
}; 

map = new google.maps.Map(document.getElementById('map'),Options); 
var marker = new google.maps.Marker({ 
    position: myLatLng, 
    map: map, 
    label: "Y", 
});  

     var service = new google.maps.places.PlacesService(map); 
     service.nearbySearch({ 
     location: myLatLng, //Uses geolocation to find the following 
     radius: 500, 
     types: ['bar'] 
     }, callback); 

    }; 

function callback(results, status) { 
    if (status === google.maps.places.PlacesServiceStatus.OK) { 
    for (var i = 0; i < results.length; i++) { 
     createMarker(results[i]); 
    } 
    } 
} 

function createMarker(place) { 
    var placeLoc = place.geometry.location; 
    var marker = new google.maps.Marker({ 
    map: map, 
    position: place.geometry.location 
    }); 

    google.maps.event.addListener(marker, 'click', function() { 
    infowindow.setContent(place.name); 
    infowindow.open(map, this); 
    }); 
} 

Ben benimle aynı sorunu olan bu kodu bulduk, infowindow yüklemez işleri benim coğrafi konum kodu dahil değildir kod ve aynı hata konsolda.

http://i.stack.imgur.com/2Pkeb.png

teşekkür ederiz: Burada https://jsfiddle.net/jimedelstein/bfdhjsyy/

ve

ben konsolda olsun hatadır!

cevap

0

Infowindow değişkeni tanımlanmadı. infowindow.setContent();'u aramadan önce bir yere infoWindow = new google.maps.InfoWindow'u deneyin.

infoWindows nasıl kullanılacağı hakkında bilgi için buraya göz atın: Sadece bu eklemiş https://developers.google.com/maps/documentation/javascript/3.exp/reference#InfoWindow

+0

ve hata aynı kalır. Biliyorum bir şeyi özlüyorum, ne olduğunu anlayamıyorum. –

+0

Kod snippet'ini, eklediğiniz yeri görebilmemiz için günceller misiniz? Ayrıca, aşağıdaki gibi eklenecek haritayı tanımladığınızdan emin olun: 'infoWindow = new google.maps.InfoWindow ({map: map}); – daraul

+1

nihayet işe yaradı! Bunu ekledim "var infowindow = new google.maps.InfoWindow();" bilgi benim createMarker işlevi. Şimdi, her biri için yer adıyla ilgili bilgileri tıklayın. Yardım için teşekkürler! :) –

İlgili konular