2013-05-07 6 views
1

Я хочу добавить ссылку на свою мобильную версию моей map, расположенной по адресу http://alert.fcd.maricopa.gov/alert/Google/v3/mobile.html.Географическое положение с Google Map V3

Моя карта загружается с помощью этого файла JavaScript http://alert.fcd.maricopa.gov/alert/Google/v3/js/mobilemap_v3.js. Вы заметите, что линия 46 этого файла -

map = new google.maps.Map($('#map_canvas')[0],myOptions); 

Я попробовал пример геолокации на https://developers.google.com/maps/documentation/javascript/examples/map-geolocation и метод W3 HTML5 Geolocation на http://www.w3schools.com/html/html5_geolocation.asp. Но моя карта загружается через jquery и не использует

map = new google.maps.Map(document.getElementById('map-canvas'), 
mapOptions); 

как все примеры.

Я могу заставить геолокацию работать, если я заменил $ в строке 46 document.getElementById, но тогда ни один из моих датчиков/производителей не отобразит .

Кто-нибудь знает, как я могу получить геолокацию, работающую с моими маркерами по-прежнему?

+0

Это поможет, если мы сможем увидеть фактический код AJAX, который вы используете. – Blazemonger

+0

CSS для карты (#map_canvas) находится по адресу http://alert.fcd.maricopa.gov/alert/Google/v3/css/mobile.css. Вы можете просмотреть источник страницы mobile.html через браузер. – MillerC

+0

Вы должны опубликовать свой проблемный код (JS, а не только CSS) непосредственно в вопросе, для потомков. Ваша внешняя страница может измениться в любое время и почти наверняка изменится после получения полезного ответа. – Blazemonger

ответ

2

Нашли ответ на этот звонок! Я использовал geolocationmarker-compiled.js (в http://code.google.com/p/google-maps-utility-library-v3/source/browse/trunk/geolocationmarker/src/geolocationmarker-compiled.js?r=379), а затем добавляют

var GeoMarker; 

GeoMarker = new GeolocationMarker(); 
    GeoMarker.setCircleOptions({ 
    fillColor: '#808080'}); 

    google.maps.event.addListenerOnce(GeoMarker, 'position_changed', function() { 
     map.setCenter(this.getPosition()); 
     map.fitBounds(this.getBounds()); 
    }); 

    google.maps.event.addListener(GeoMarker, 'geolocation_error', function(e) { 
     alert('There was an error obtaining your position. Message: ' + e.message); 
    }); 

    GeoMarker.setMap(map); 

и он прекрасно работает. Мобильная карта с работой Geolocation находится по адресу http://alert.fcd.maricopa.gov/alert/Google/v3/mobile.html и код геолокации в файле mobilemap_v3.js, если кто-то хочет сделать то же самое.