【问题标题】:display the number of markers in a cluster in Angular google maps在 Angular 谷歌地图中显示集群中的标记数量
【发布时间】:2015-01-23 04:54:19
【问题描述】:

我对 AngularJS 还很陌生,目前正在使用来自 http://angular-ui.github.io/angular-google-maps/

我已经阅读了文档,但我想做的只是 显示集群中的数字标记。

以及集群的 OnClick,应显示弹出工具文本。 该 api 没有广泛涵盖这一点。 我想要实现的示例在这里

http://104.131.42.57/frontend/index.html

以下是我当前的代码:

HTML 指令

<div ng-controller="MapsController">
<ui-gmap-google-map center="map.center" zoom="map.zoom" draggable="true" options="options" bounds="map.bounds">
<ui-gmap-markers doCluster="true" clusterOptions="clusterOptions" models="puMarkers" coords="'self'" icon="'icon'">
</ui-gmap-markers>
</ui-gmap-google-map>

地图控制器,遵循 api 文档。

controllers.controller('MapsController', function($scope,mapService) {
var locationArray ;
$scope.map = {
    center: {
        latitude: 8.69128,
        longitude: 8.5208073
    },
    zoom: 6,
    bounds: {}
};
$scope.options = {
    scrollwheel: false
};

$scope.clusterOptions = {
    gridSize: 60,
    ignoreHidden: true,
    minimumClusterSize: 5,
    imageExtension: 'png',
    imagePath: 'assets/img/cluster',
    imageSizes: [72] };

var createRandomMarker = function(i, bounds, idKey,point) {
    var ret = {
        latitude: point.g,
        longitude: point.f,
        title: 'm' + i,
        icon: 'assets/img/marker.png',
        options: { title: point.t }
    };
    ret[idKey] = i;
    return ret;
};

$scope.puMarkers = [];
// Get the bounds from the map once it's loaded
$scope.$watch(function() {
    return $scope.map.bounds;
}, function(nv, ov) {
    // Only need to regenerate once
    if (!ov.southwest && nv.southwest) {
        var markers = [];

        /* Load Markers from Rest Services*/
        var promise = mapService.getPollingUnits(1);
        promise.success(function(retData,status,headers,config) {
            if (retData.error == false) {
                var i = 1 ;
                locationArray = retData.events;
                locationArray.forEach(function(item){
                    markers.push(createRandomMarker( i, $scope.map.bounds, "id", item ));
                    i++;
                });
            }
        });
        $scope.puMarkers = markers;
    }
}, true);
});

【问题讨论】:

  • 不确定您在哪里遇到问题。您定义的标记是否显示在地图上?

标签: javascript angularjs google-maps google-maps-api-3 angular-google-maps


【解决方案1】:

我终于明白了。集群中的标记数量已经存在,只是它是黑色字体而不是隐藏它的颜色,因为标记图标也很暗。 单击标记时还显示弹出窗口已经可用 在文档中。

【讨论】:

    猜你喜欢
    • 2023-03-19
    • 2013-03-24
    • 1970-01-01
    • 2017-09-13
    • 1970-01-01
    • 2016-04-03
    • 2013-01-13
    • 1970-01-01
    相关资源
    最近更新 更多