Angularを使い始めたばかりで、とても気に入っています。Angularで実行されているGoogle Mapsアプリを実行していて、GoogleMapオブジェクト内のテンプレートの更新に問題があります。コードは次のとおりです。
Map.addMarker = function(objMarker){
var overviewBox = 'some random text here';
var GmapLatLng = new google.maps.LatLng(objMarker.lat, objMarker.lng);
var GmapInfoWindow = new google.maps.InfoWindow({
content: overviewBox,
maxWidth: 400
});
var marker = new google.maps.Marker({
position : GmapLatLng,
map : MapApp.Gmap,
icon : '/images/nice-custom-marker.png',
title : objMarker.title,
cleanTitle : objMarker.cleanTitle
});
$scope.marker.title = "Hello from the add marker";
google.maps.event.addListener(marker, 'click', function(){
GmapInfoWindow.open(MapApp.Gmap, marker);
Map.getMarker(marker.cleanTitle);
$scope.marker.title = "Hello from the add marker listener";
});
}
テンプレートの{{title}}を「マーカーの追加からのハロー」に置き換えることはできますが、console.log($ scope)を実行すると、クリックリスナー「マーカーの追加リスナーからのハロー」内で同じことを行うことができません。 $ scopeオブジェクトにアクセスできますが、ここでは非常に混乱しています。何がうまくいかないのか、どうすれば回避できるのか、誰か知っていますか?
前もって感謝します。
編集:Jqueryで試してみました
$('#contentView>h1').text("Hello from the add listener");
$scope.marker.title = "Hello from the add listener";
そして明らかにそれは機能しますが、私は本当に代わりにAngularを使用したいと思います:(
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加