javascript - 从基于 typescript 的 Angular Controller 调用 GoogleMap MarkerClusterer 方法

标签 javascript angularjs google-maps typescript markerclusterer

我已经开始研究项目中的 TypeScript 方法,目前有点困惑如何正确组织对 MarkerClusterer 方法的调用。我目前必须类型定义引用:

///<reference path="../../typings/angularjs/angular.d.ts" /> 
///<reference path="../../typings/google.maps.d.ts" /> 

但是对于 MarkerClusterer js 我无法找到定义 ts 库。我的代码现在看起来是这样的:

class paspController {

public map: any;
public markers;
public mapTab: boolean;
public currentId: number;

//Some code

showTab(tabIndex: number) {
    if (tabIndex == 2) {
        this.mapTab = true;
        var that = this;
        setTimeout(function () {
            this.options = {
                zoom: 2,
                center: new google.maps.LatLng(1, 1),
                mapTypeId: google.maps.MapTypeId.ROADMAP
            };
            if (!that.map) {
                that.map = new google.maps.Map(document.getElementById('map'), this.options);
            }
            jQuery.ajax({
                type: "GET",
                url: 'GetDivesWithCoordinates/' + that.currentId,
                success: function (data) {                      
                    that.markers = [];
                    var marker;                       
                    for (var i = 0; i < data.length; i++) {
                        marker = new google.maps.Marker({ map: that.map, draggable: false, title: data[i].Location + ": " + data[i].DiveComment, position: new google.maps.LatLng(data[i].CoordinateX, data[i].CoordinateY) });
                        that.markers.push(marker);
                    }
                   // THIS IS MY PROBLEM => var markerCluster = new MarkerClusterer(that.map, markers);
                },
                error: function (e) {
                },
                async: false
            });
        }, 100);           
    }
}

我应该如何正确调用MarkerClusterer,或者我应该将它放在 Controller 逻辑之外?

最佳答案

THIS IS MY PROBLEM => var markerCluster = new MarkerClusterer(that.map, markers);

声明:

declare var MarkerClusterer:any;

typescript 不会再提示了。

更多:http://basarat.gitbooks.io/typescript/content/docs/types/migrating.html

关于javascript - 从基于 typescript 的 Angular Controller 调用 GoogleMap MarkerClusterer 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32070317/

相关文章:

android - 通过 Maps API v2 处理 SurfaceView 中的触摸事件

javascript - 我的自定义维度和指标未显示在 Google Analytics(分析)中?

javascript - 正则表达式 : minimum total number of digits in a string

javascript - 控制字体/符号丢失 - videogular

javascript - 比较来自不同 Controller 的 2 个 GET 对象

javascript - Angular Google map 信息窗口 HTML

Android 谷歌地图 v2 标记 z 顺序/z 索引

javascript - 如果 areEqualFunction 执行复杂/大量比较,使用 React.memo 是否更快?

javascript - 防止覆盖 Javascript 函数

angularjs - Grails 3 - 将 html 模板限制为登录用户