javascript - Angular google maps自定义图标仅在更新标记时有效

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

当我添加带有图标归档的标记时,它显示为默认标记,但是当我更新位置时,它开始显示为我想要的自定义图标。

ma​​p.html

<ui-gmap-google-map center="map.center"
            control="map.control"
            zoom="map.zoom"
            options="map.options"
            bounds="map.bounds"
            draggable="true">
    <ui-gmap-markers
            models="markerArray"
            coords="'self'"
            icon="'icon'">
    </ui-gmap-markers>
</ui-gmap-google-map>

ma​​p.js/addMarker(放置标记,默认图标)

function addMarker(markerId, latitude, longitude, icon, iconSize) {

    markerIconSize = new google.maps.Size(iconSize[0],iconSize[1]);

    var marker = {
        id: markerId,
        latitude: latitude,
        longitude: longitude, 
        icon: {
            url: icon,
            scaledSize: markerIconSize
        }
    };
    $scope.markers.push(marker);
    $scope.markerArray = $scope.markers;
}

ma​​p.js/updateMarker(使用自定义图标更新坐标)

function updateMarker(markerId,latitude,longitude) {

     var marker = _.find($scope.markerArray, function(marker) {
          return marker.id = markerId;
     });

     marker.latitude = latitude;
     marker.longitude = longitude;
}

最佳答案

我能想到的几件事: 尝试对图标 url 进行硬编码,看看是否可行。 然后尝试拆分标记声明,因此:

var marker;
var markerOptions = {
    id: markerId,
    latitude: latitude,
    longitude: longitude, 
    icon: {
        url: icon,
        scaledSize: markerIconSize
    }
};
marker = new google.maps.Marker(markerOptions);
$scope.markers.push(marker);
$scope.markerArray = $scope.markers;

这就是我制作 map 的方式,只是给你一个建议。希望它也对你有用。

关于javascript - Angular google maps自定义图标仅在更新标记时有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30352180/

相关文章:

android - 在 map fragment 上添加按钮以在 map 上执行操作

javascript - 在 AngularJS 的谷歌地图中单击标记时如何关闭其他信息窗口

javascript - 谷歌地图 react

javascript - Angular 1.5 中的组件和指令

javascript - Angularjs 1.2.9 范围隔离

javascript - AngularJS 中复制表失败

javascript - 事件类不随 javascript 函数改变

javascript - 如何从 datepicker ui 获取年份?

javascript - 在 javascript 环境中执行

ios - 无论如何要在谷歌地图上计算英里或米到像素以计算缩放级别?