1

gmaps를 사용하는 angular.dart 프로젝트에서 작업 중입니다. 그리고지도 클릭시 LatLng 값을 가져 오려고합니다. 내 map.html :Gmaps Angels.dart를 사용하여 MouseEvent에서 LatLng을 찾을 수 없음

<div id="map" ng-click="ctrl.mapClick($event)"></div> 

내 DartCtrl :

void mapClick(e){ 
    print(e.runtimeType); //MouseEvent 
    print(e.latLng); //error : Undifined function mapClick ... 
} 

어떤 생각처럼 뭔가를 작성하지 않고하는 LatLng 값을 얻을 수 있습니다 : * dartium에서이 앞으로 일어날 그래서

map.onClick.listen((e){ 
print(e.latLng); 
}); 

의 dart2js와 관련이 없습니다. 당신을 생각 ...

+0

이 방법이 효과가 있습니까? ' –

+0

그래,지도가 어디 있는지 querySelector ('# map ') – youssef

+0

나는 그것을 믿을 수있다. 'MouseEvent'는'latLng' getter가 없습니다. 어떻게 작동합니까? e.detail이 유용한 정보를 제공하는지 확인할 수 있습니까? –

답변

0

반환 된 MouseEvent는 HTML의 MouseEvent에서 상속받은 네이티브 것이 아니며 'src/generated/core/events/mouse_event.dart'이므로 예제가 제대로 작동하지 않습니다. 더 나은 방법은 특수 MouseEvent를 반환하는 콜백 메서드가있는 NgDecorator를 만드는 것입니다. LatLng에 wishLittle이 포함되어 있습니다.

0

나는

new JsObject.fromBrowserObject(e)['latLng'] 

(테스트하지)

다트-JS-상호 운용성에 대한

은 볼 ... 당신이

import 'dart:js'; 

뭔가를해야한다고 생각 또한 js interop compiled with dart2js error - Uncaught NoSuchMethodError : method not found:

+0

방금 ​​테스트했습니다. '새 JsObject.fromBrowserObject (e) ['latLng ']'return null – youssef

+0

죄송하지만 아이디어가 없습니다. –

+0

ng-click을 대신 사용하면 리스너 메서드가 실행되기 전에 정상적으로 gmaps가 MouseEvent에 latLng을 추가한다고 생각합니다. – youssef