gpt4 book ai didi

AngularJS: 'google-maps':信息窗口中的调用指令

转载 作者:行者123 更新时间:2023-12-02 04:59:16 25 4
gpt4 key购买 nike

我正在使用 http://nlaplante.github.io/angular-google-maps/在我的 Angular 应用程序中显示 map 。我的页面有一个通用 Controller 获取 Json。为了显示标记,我在范围内使用 $watch,因为我会实时显示标记位置可以改变。

$scope.model  = new Model 'api/now.json'
$scope.state = new DState

$scope.$watch ->
markers = []
_($scope.model.objects).each (obj) ->
markers.push
latitude: obj.latitude
longitude: obj.longitude
infoWindow: "<info-window>SHOULD NOT DISPLAY CAUSE DIRECTIVE</info-window>"

markers
, (newValue) ->
$scope.state.map.markers = newValue
, true

我的指令是基本的:

am.directive "infoWindow", ->

restrict: 'E'
template: "<div>IN DIRECTIVE</div>"
replace: true

我的 Html 页面调用 map :

#dashboard{ng:{controller: 'dashboardCtrl'}}


#map.google-map{center: 'state.map.center',
zoom: 'state.map.zoom',
markers: 'state.map.markers',
draggable: 'true'}

以及用于定义状态的 DState Factory:

.factory 'DashboardState', (Media) ->
class DashboardState
defaults:
map:
center:
latitude: 45.764043
longitude: 4.835659
zoom: 10
markers: []
selectedObj: null

constructor: (initialData) ->
_(@defaults).extend initialData
_(this).extend @defaults

所以,我在 infoWindow 中的显示是

SHOULD NOT DISPLAY CAUSE DIRECTIVE

但我应该有我的指令中的内容:

IN DIRECTIVE

我的指令没有调用...你有什么想法吗?

这里是双问,我想把我工厂的SelectedObj设置成自己的Obj。您是否知道如何处理事件单击标记以及将其放置在何处以调用可以将我的对象分配给 SelectedObj 的方法?

提前致谢

最佳答案

您可以尝试以下方法:

  1. 获取最新版本的angularjs-ui-maps
  2. 使用指令的 tempalteUrl 属性 - 您可以在模板中添加指令(请参阅源代码中包含的 example.html 中的操作方法)。

这样你就可以避免任何自定义的html编译

我遇到过类似的问题:https://stackoverflow.com/questions/20843463/angularjs-using-a-directive-in-google-maps-marker-window

如果您发现任何其他方法,请务必发布。

HTH

关于AngularJS: 'google-maps':信息窗口中的调用指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18384014/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com