2011-09-19 3 views
80

Google지도 UI 구성 요소로 인해 이상한 결함이 발생한 원인에 대한 아이디어가있는 사용자라면 누구나 귀담아 알려주세요.Google지도 API V3 : 이상한 UI 표시 오류 (스크린 샷 포함)

enter image description here

지도가 만들어집니다 :

 var options = { 
     zoom: <?php echo $this->zoom ?>, 
     center: new google.maps.LatLng(<?php echo $this->centre_lat ?>, <?php echo $this->centre_lon ?>), 
      mapTypeControl: false, 
      mapTypeId: google.maps.MapTypeId.ROADMAP     
     }; 

     var map = new google.maps.Map(document.getElementById('map_canvas'), options); 

와 결함도없이 마커와 동일합니다.

+0

당신이 구성 요소를 – slawekwin

+0

@slawekwin 선언하는 방법과 조각 추가 한 경우는 도움이 될 것입니다 - 업데이트 된 질문을. – Haroldo

답변

183

같은 문제가 발생했습니다. CSS는 디자이너가 스타일이 사용되었습니다

:

있는 style.css를

img {max-width: 100%; } 

대신 줌 컨트롤을 사용하지 않도록, 우리는 그렇게 같은 map_canvas 요소에 대한 IMG 스타일을 재정 의하여 문제를 해결 있는 style.css :

#map_canvas img { max-width: none; } 

줌 제어 이제 표시 괜찮아.

"img max-width : 100 %"설정은 반응 형/유동 웹 사이트 디자인에서 사용되는 기술로 브라우저의 크기를 조정할 때 이미지 크기가 비례하여 조정됩니다. 분명히 일부 CSS 그리드 시스템은 기본적으로이 스타일을 설정하기 시작했습니다. 여기 유체 이미지에 대한 자세한 정보는 : 구글 맵이 충돌 ...

+9

이것은 나에게도 영향을 미쳤다. Google지도 API v3에서는 부모 컨테이너 내부에 'overflow : hidden'이있는 큰 크기의 투명 PNG 스프라이트 이미지 ('http : // maps.gstatic.com/mapfiles/iw3.png')를 사용합니다. 따라서 이미지의 너비를 제한하면 이미지가 압축됩니다. – jwal

+1

이 하나가 저를 뒤적 거리고있었습니다. 이 솔루션을 게시 해 주셔서 대단히 감사합니다! –

+0

이것은 고민 거리였습니다. 수정 해 주셔서 감사합니다! – MiniQuark

8

줌 컨트롤에 문제가있는 것 같습니다. 옵션에 zoomControl:false을 추가하십시오.

실제로는 일반적인 줌 슬라이더가 페이지 왼쪽에 위치합니다 (파이어 버그> 요소 검사 사용). CSS 충돌 일 수 있습니까?

+12

알았어요. 내 'img {max-width : 100 %; }' – Haroldo

+2

img {max-width : 100 %;} 역시 내 문제였습니다. 감사합니다. – jamesbar2

+0

나는 똑같은 문제에 직면하고 CSS를 제거한 후 수정했다. img {max-width : 100 %;} 덕분에 – nbhatti2001

2

그럼 난 이것에 대한 수정 된 이유 http://www.alistapart.com/articles/fluid-images/ 확실하지 :

img {max-width: 100%; height: auto;} 
: 당신의 CSS에

을 당신은 같은 것을 추가

는 글로벌 공개하고 싶지 않아 시도하고 당신이 필요 당신이 Google지도 API의 최신 버전

33

을 :) 수정해야합니다 :

<style> 
    .gm-style img { max-width: none; } 
    .gm-style label { width: auto; display: inline; } 
</style> 
+0

이것은 받아 들인 해결책과 동일 하, 그러나 다른 선택자 및 당신의 자신의 상표 유행에 따라 디자인 된 여분 리셋과 더불어. – lmeurs

+0

많은 도움이되었습니다. 덕분에 –

+0

이 하나의 도움 실제로 – Nathanphan

0

이 같아야 기본이 설정은 Dreamweaver 유체 그리드 기능을 사용하는 경우 :

img, object, embed, video { 
    max-width: 100%; 
} 
/* IE 6 does not support max-width so default to width 100% */ 
.ie6 img { 
    width:100%; 
} 

이 시도 : 그대로

object, embed, video { 
    max-width: 100%; 
} 
#map_canvas img { max-width: none; } 
/* IE 6 does not support max-width so default to width 100% */ 
.ie6 img { 
    width:100%; 
} 

그냥 코드를 교체합니다.

0

부트 스트랩 (버전 2.3.2 현재)은 허용 된 답변과 같은 방식으로 이미지를 망칩니다.

실제로 Haroldo의 웹 사이트에 사용 된 디자인이 부트 스트랩을 사용하고 있다고 생각합니다.

아무도 부트 스트랩에 대해 언급하지 않았기 때문에 나는 게시하고 있습니다. 누군가가 부트 스트랩 특정 솔루션을 찾고있을 수도 있습니다.

0

내 Square Space 웹 사이트에서이 문제가 발생했습니다. CSS 스타일 시트에 액세스 할 수 없었습니다. html 문서가 포함되어 있으므로 인라인 CSS를 사용하여 문제를 해결할 수 있습니다. 컨테이너의 스타일을 사이트를 변경하는 대신 (내가 할 수없는) 변경했습니다. 여기에 내가 무슨 짓을 :

<style> 
    html, body, #map-canvas { 
    height: 600px; 
    width: 100%; 
    margin: 0px; 
    padding: 0px 
    } 
    #map-canvas img {max-width: none;} 
</style> 
1

이 나를 위해 일했다 : "중요한"

는 속성이 다른 스타일을 재정의해야합니다

#map img { max-width: none !important; } (from Patrick's answer) 
이 #map이 새를 선언 할 때 할당 된 ID입니다 객체 Gmaps :

<script> 
    map = new GMaps({ 
      div: '#map',   <- your id 
      lat: *******, 
      lng: *******, 
      scrollwheel: false, 
      panControl: true, 
      .... 
      ... 
</script> 
관련 문제