Если вы хотите map
быть глобальным, то вы должны вручную прикрепить его к window
(при условии, что вы в браузере):
window.map = null
$(document).ready ->
# use `window.map` in here...
или как это:
@map = null
$(document).ready ->
#...
You 'нужно быть очень осторожным, как вы ссылаетесь на map
, хотя CoffeeScript подумает, что вы хотите локальную переменную; например, это не будет делать то, что вы могли бы подумать:
@map = null
$(document).ready ->
map = something
Это сделает местную map
переменную внутри функции обратного вызова, так глобальной map
не будут затронуты.
Если вы хотите, глобальное, то я бы рекомендовал создать глобальную специфичную для приложения имен:
# Somewhere before anything else happens...
@your_app_name = { }
, а затем сделать что-нибудь глобальное быть свойством в пространстве имен:
$(document).ready ->
your_app_name.map = null
#...
сейчас вы всегда должны включать полное пространство имен (что помогает избежать конфликтов имен), и вам не придется слишком беспокоиться о том, что CoffeeScript запутывается, когда вам нужна локальная переменная в сравнении с глобальной.
Что такое позиция? –
если navigator.geolocation navigator.geolocation.getCurrentPosition (set_user_location, ошибка) –
положение переменная передается браузером для set_user_location метод –