2013-05-07 5 views
1

http://alert.fcd.maricopa.gov/alert/Google/v3/mobile.html에있는 지도의 모바일 버전에 geolocation을 추가하고 싶습니다.Google지도 V3가있는 Geolocation

내지도가이 JavaScript 파일 http://alert.fcd.maricopa.gov/alert/Google/v3/js/mobilemap_v3.js을 통해로드됩니다. 당신은 이 파일의 라인 (46)을 알 수있다 - 나는 https://developers.google.com/maps/documentation/javascript/examples/map-geolocation에서 위치 정보의 예와 http://www.w3schools.com/html/html5_geolocation.asp에서 W3 HTML5 위치 정보의 방법을 시도

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

. 하지만 내지도는 jquery를 통해로드되며 사용하지 않습니다. 모든 예제와 마찬가지로

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

줄 46의 $를 document.getElementById로 바꾸면 Geolocation을 얻을 수 있지만 내 센서/제조업체는 아무 것도 표시하지 않습니다. .

아무도 내 마커/데이터가로드되는 상태에서 geolocation을 사용할 수있는 방법을 알고 있습니까?

+0

사용중인 실제 AJAX 코드를 볼 수 있다면 도움이 될 것입니다. – Blazemonger

+0

지도 (#map_canvas)의 CSS는 'http://alert.fcd.maricopa.gov/alert/Google/v3/css/mobile.css'에 있습니다. 브라우저를 통해 mobile.html의 페이지 소스를 볼 수 있습니다. – MillerC

+0

후손을 위해 질문에 문제 코드 (JS뿐 아니라 CSS)를 직접 게시해야합니다. 외부 페이지는 언제든지 변경 될 수 있으며 유용한 답변을 받으면 거의 바뀔 것입니다. – Blazemonger

답변

2

답변을 찾았습니다. 나는 (http://code.google.com/p/google-maps-utility-library-v3/source/browse/trunk/geolocationmarker/src/geolocationmarker-compiled.js?r=379에서) geolocationmarker-compiled.js을 사용하고

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 파일의 geolocation 코드에 있습니다.

관련 문제