2015-02-06 2 views
1

마커 상단에 infowindow를 표시하려고하는데 어려움을 겪고 있습니다. 현재클릭 핸들러에서 마커 받기 : AngularJS + Google Maps

나는 다음과 같은 HTML했다 : 해당 컨트롤러에, 나는

<map data-ng-model="mymap" zoom="4" center="[38.50, -95.00]"> 
    <marker ng-repeat="item in list" 
    position="[{{item.coordinates}}]" title="{{item.name}}" 
    icon="./images/i.png" 
    on-click="onMarkerClicked(mymap, this)" />    

    <control name="overviewMap" opened="true" /> 
</map>` 

그런 다음이 :

그러나
$scope.onMarkerClicked = function(mymap, marker, event){ 

    infowindow = new google.maps.InfoWindow("Hi I am the MARKER" + event.target.title); 
    infowindow.open(mymap, event.target); 
    //infowindow.open(mymap, marker); 
    $scope.$apply(); 
} 

이, 내지도가 올바른 값을 가지고있다, event.target하지 않는 동안 작동되는 것처럼 보입니다 (보고 된 코드에 주석 처리 됨)

정의되지 않은 'target'속성을 읽을 수 없습니다.

마커를 사용하는 경우 정의되지 않습니다. 어떻게이 문제를 해결할 수 있습니까?

답변

1

내가이 GitHub에 건너왔다 무엇을 의미하는지에 관해 알기 위해 참조 infoWindow에서 ng-repeat를 사용하는 방법 - https://rawgit.com/allenhwkim/angularjs-google-maps/master/testapp/infowindow_compiled.html

해당 p의 소스 코드를 살펴보십시오. 나이, 나는 너를 도울 것이라고 생각한다.

+0

감사합니다. 게시 한 첫 번째 링크의 마지막 게시물에보고 된 두 개의 정보 창 태그 쌍을 추가했습니다. 이제 나는 정보 창을보고있다! – Manu

+0

두 번째 링크가 작동하지 않습니다. 링크를 업데이트하십시오. –

0

사실 마커 인스턴스를 열린 호출의 두 번째 매개 변수로 전달해야합니다.

는 여기를 참조하십시오 https://developers.google.com/maps/documentation/javascript/examples/infowindow-simple

인수로 객체 this를 보내고 나중에 해당 이벤트의 이름을 지정하는
+0

예, 어떻게 전달합니까? event.target을 사용하려고하는데 작동하지 않습니다. 또한 매개 변수로 전달하려고 시도했지만 동일한 오류가 발생했습니다. HTML on-click 속성에서 어떻게 전달할 수 있습니까? – Manu

+0

나는 또한 마커 (업데이트 된 내 게시 된 코드)하지만 여전히 동일한 문제를 전달하려고했습니다. – Manu

0

? 그 위에 Angular를 사용하는 경우 ng-click="onMarkerClicked(myMap, this, event)"으로하지 않는 것이 좋습니다. 나는 이런 식으로 Google Maps를 사용한 적이 없지만 매개 변수가 어떻게 든 잘못되었다고 생각합니다. https://github.com/allenhwkim/angularjs-google-maps/issues/95

그들은 다음 예를 공유로 이동 -

이 간단한 바이올린들이이 문제를 논의 어디

http://jsfiddle.net/ozbafyhh/

<button onclick="myFunction(this, event)">Click me</button> 

function myFunction (x, event){ 
    alert(x); 
    alert(event); 
} 
+0

ng-click이 인식되지 않으면 컴파일 오류가 발생합니다. 나는 이것을 매개 변수로 전달하려고 시도했지만 정의되지 않은 것으로 변합니다. – Manu

+0

나는 onclick을 가지고 있지 않다. 단지 클릭 (마커 전용) – Manu

+0

좋아, 당신은 당신이 논쟁으로 사건을 전달할 수 없다고 말하고있다. – Michelangelo