2012-03-30 3 views
1

Я пытаюсь разместить маркер с текущим местоположением пользователей.Карты Google для Rails - маркер места с местоположением пользователя в обратном вызове

Однако я не могу получить местоположение пользователя в обратном вызове. Кажется, что вызов console.log запускается до геокодирования браузера Что я делаю неправильно?

вид Haml

= gmaps(:map_options => {:center_on_user => true}) 

- content_for :scripts do 
    :javascript 
    Gmaps.map.callback = function() { 
     console.log(Gmaps.map.userLocation) 
    } 

HTML выход

<div class="map_container"> 
    <div id="map" class="gmaps4rails_map"></div> 
</div> 


<script type="text/javascript" src="//maps.google.com/maps/api/js?v=3.5&sensor=false&amp;libraries=geometry"></script> 
<script type="text/javascript" src="//google-maps-utility-library-v3.googlecode.com/svn/tags/infobox/1.1.9/src/infobox_packed.js"></script> 
<script type="text/javascript" src="//google-maps-utility-library-v3.googlecode.com/svn/tags/markerclustererplus/2.0.5/src/markerclusterer_packed.js"></script> 
<script type="text/javascript" src="//google-maps-utility-library-v3.googlecode.com/svn/trunk/richmarker/src/richmarker-compiled.js"></script>  


<script type="text/javascript" charset="utf-8"> 
Gmaps.map = new Gmaps4RailsGoogle(); 
Gmaps.load_map = function() { 
Gmaps.map.map_options.center_on_user = true; 
Gmaps.map.initialize(); 
Gmaps.map.adjustMapToBounds(); 
Gmaps.map.callback(); 
}; 
window.onload = function() { Gmaps.loadMaps(); }; 
</script> 

<script> 
    //<![CDATA[ 
    Gmaps.map.callback = function() { 
     console.log(Gmaps.map.userLocation) 
    } 
    //]]> 
</script> 

ответ

0

В момент этой функции обратного вызова, местоположение пользователя уже не извлекается, это просто означает, что карта будет сделано отображение.

Подумайте об этом: пользователь должен решить, принимает ли он геолокацию браузера, поэтому может потребоваться очень много времени.

Мне не нужен какой-либо обратный вызов для геолокации Успех, я создал только один для геолокации Ошибка.

Вы должны просто исправить js/coffee в своих активах и вызвать любую функцию, которая вам нужна, в this line.

+0

Было бы здорово, если бы вы могли привести пример исправления. У меня возникли проблемы. Получение этого результата. –

+0

Он добавлен в драгоценный камень: https://github.com/apneadiving/Google-Maps-for-Rails/ совершить/e4815ee22e0586f7d6527a1e0443691fb769f114 – apneadiving

 Смежные вопросы

  • Нет связанных вопросов^_^