I have this code giving me the strange error message
Uncaught TypeError: Cannot set property 'position' of undefined
This is the inside of a jQuery plugin to show a google map in a popup.
I was using the code somewhere else, where it worked fine – the only difference here seems to be that I’m now using it in a Popup window. Am I missing a scope issue or something?
All the variables like geocoderParams and latlng are filled like they should.
Googling the the error message turned up nothing valuable.
The error message gets fired when the google.maps.Map() is called.
self = $(this)
self.hide()
geocoder = new google.maps.Geocoder
geocoderParams =
address: self.data('address') || settings.address
region: settings.region
results = geocoder.geocode geocoderParams, (results, status) ->
if status == google.maps.GeocoderStatus.OK
latlng = results[0].geometry.location
mapOptions =
mapTypeControl: false
overviewMapControl: false
zoom: settings.zoomLevel
center: latlng
mapTypeId: google.maps.MapTypeId.ROADMAP
map = new google.maps.Map(self, mapOptions)
self.show()
I looked up
google.maps.Map()and the Google reference says that the first parameter should be amapDiv:Nodewhich is the container for the map and is typically adivelement.You are passing
$(this)which is likely a jQuery object which is not what Google maps is expecting. I don’t know the rest of your code, but perhaps you should just be passingthisinstead of$(this).