Monday, June 3, 2024
 Popular · Latest · Hot · Upcoming
88
rated 0 times [  94] [ 6]  / answers: 1 / hits: 49572  / 13 Years ago, tue, december 13, 2011, 12:00:00

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()

More From » google-maps

 Answers
106

I looked up google.maps.Map() and the Google reference says that the first parameter should be a mapDiv:Node which is the container for the map and is typically a div element.



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 passing this instead of $(this).


[#88593] Sunday, December 11, 2011, 13 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
theo

Total Points: 680
Total Questions: 108
Total Answers: 81

Location: Laos
Member since Fri, Sep 11, 2020
4 Years ago
;