2014-10-21 4 views
0

Google지도 v3 API에 문제가 있습니다.Google지도 API 위치

마커가 오른쪽 위치에 있고 높이가 700px이므로 내 마커가 hor와 vert 중심에 자동으로 배치됩니다.

수평 중심이 맞지만 내지도가 여전히 700 픽셀이지만 내 마커의 위치가 중심보다 위쪽으로 표시되도록하고 싶습니다. 그래도 표식의 위치는 올바른 위치에 있어야하지만 전체지도를 위로 끌어 올려야합니다.

실마리는 어떻게해야합니까? CSS 및 배경 이미지 위치 스타일링과 비교하십시오. 지금

내 코드 :

var rkc = new google.maps.LatLng(56.198785, 15.289740); 
var markerrkc; 
var map; 

function initialize() { 

    var mapOptions = { 
     zoom: 17, 
     center: rkc, 
     mapTypeControl: false, 
     navigationControl: false, 
     streetViewControl: false, 
     scrollwheel: false, 
     navigationControl: false, 
     mapTypeControl: false, 
     scaleControl: false, 
     draggable: false, 
     mapTypeControlOptions: { 
      mapTypeIds: [google.maps.MapTypeId.ROADMAP, 'usroadatlas'] 
     } 
    }; 

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

    var markerrkc = new google.maps.Marker({ 
     position: rkc, 
     icon: 'URL TO MY ICON', 
     map: map, 
    }); 

    var styledMapOptions = { 

    }; 

    var usRoadMapType = new google.maps.StyledMapType(
    roadAtlasStyles, styledMapOptions); 

    map.mapTypes.set('usroadatlas', usRoadMapType); 
    map.setMapTypeId('usroadatlas'); 
} 

google.maps.event.addDomListener(window, 'load', initialize); 
+0

코드는 어디에 있습니까? – MrUpsidown

+0

이제 내 편집 게시물에 있습니다. :) –

+1

지도의 중심을 픽셀 단위로 변경하려면 [panBy 메소드] (https://developers.google.com/maps/documentation/javascript/reference#Map)를 사용하세요. – MrUpsidown

답변

1

당신은지도 높이가 700 픽셀 말했다. 따라서 기본적으로 마커는 상단에서 350px가됩니다.

따라서 y 축에서 표시 할 픽셀의 양을 결정해야합니다. 다음은 200 픽셀 크기의 패닝 예제입니다.

var mapOptions = { 
    zoom: 17, 
    center: rkc, 
}; 

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

var markerrkc = new google.maps.Marker({ 
    position: rkc, 
    icon: 'URL TO MY ICON', 
    map: map, 
}); 

map.panBy(0,200); // pan the map by 200px on the y axis (towards the top) 
+0

@mrupsidedown - 매력처럼 작동합니다! 고마워요! –