0
Android 용 Google지도 v2를 사용했으며지도에서 내 위치를 추적하는 파란 점에 대해 좋아합니다. 이동을 시작하면 파란색 점이 화살표로 바뀝니다. 그러나 Google Maps JS API v3에서 달성 한 것은 geolocation을 사용하여 내 위치에 마커를 넣을 수 있다는 것입니다. Google지도 v2에서 파란색 점과 파란색 화살표를 넣는 방법이 있습니까?Android에서 파란색 점으로 마커 변경 Google지도 v3을 사용하는 Google지도 v2
감사합니다. :)
편집 : 당신은 Google Maps Utility Library에서 Geolocation Marker를 사용하여 시도 할 수 있습니다
var map;
var marker;
function initialize() {
var mapOptions = {
zoom: 18
};
map = new google.maps.Map(document.getElementById('map-canvas'),
mapOptions);
// Try HTML5 geolocation
if(navigator.geolocation) {
mapAutoUpdate();
} else {
// Browser doesn't support Geolocation
handleNoGeolocation(false);
}
}
function mapAutoUpdate(){
navigator.geolocation.getCurrentPosition(function(position) {
var pos = new google.maps.LatLng(position.coords.latitude,
position.coords.longitude);
var shellCenter = new google.maps.LatLng(14.635595,121.033074);
marker = new google.maps.Marker({
map:map,
draggable:true,
animation: google.maps.Animation.DROP,
position: pos
});
google.maps.event.addListener(marker, 'click', toggleBounce);
var shellMarker = new google.maps.Marker({
map: map,
position: shellCenter
});
var shellCircle = new google.maps.Circle({
map: map,
strokeColor: '#FF0000',
strokeOpacity: 0.8,
strokeWeight: 2,
center: shellCenter
});
shellCircle.setRadius(40);
var result = distance(marker.getPosition().lat(), marker.getPosition().lng(), shellMarker.getPosition().lat(), shellMarker.getPosition().lng());
if(result<shellCircle.getRadius()){
alert("inside!");
}
else
alert("outside!");
map.setCenter(pos);
}, function() {
handleNoGeolocation(true);
});
setTimeout(mapAutoUpdate, 5000);
}
function distance(lat1,lon1,lat2,lon2) {
var R = 6378137; // km (change this constant to get miles)
var dLat = (lat2-lat1) * Math.PI/180;
var dLon = (lon2-lon1) * Math.PI/180;
var a = Math.sin(dLat/2) * Math.sin(dLat/2) +
Math.cos(lat1 * Math.PI/180) * Math.cos(lat2 * Math.PI/180) *
Math.sin(dLon/2) * Math.sin(dLon/2);
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
var d = R * c;
return d;
}
function handleNoGeolocation(errorFlag) {
if (errorFlag) {
var content = 'Error: The Geolocation service failed.';
} else {
var content = 'Error: Your browser doesn\'t support geolocation.';
}
var options = {
map: map,
position: new google.maps.LatLng(60, 105),
content: content
};
var infowindow = new google.maps.InfoWindow(options);
map.setCenter(options.position);
}
function toggleBounce() {
if (marker.getAnimation() != null) {
marker.setAnimation(null);
} else {
marker.setAnimation(google.maps.Animation.BOUNCE);
}
}
google.maps.event.addDomListener(window, 'load', initialize);
안녕하세요. Miguel, 코드를 붙이시겠습니까? – saj
안녕하세요 saj, 내 질문에 감사를 업데이 트했습니다. – Jeongbebs
안녕하세요 누군가 나를 도울 수 있습니까? 감사. – Jeongbebs