我正在使用ngmap和angularjs在谷歌地图中创建标记。一切都好,但是当我缩小地图时标记会移动。
我的代码:
var app = angular.module('dataview', ['ngMap'])
app.controller('DataViewCtrl', function($scope, $http)
{
$scope.markers=[{lat:30.2817, lng:-81.5273},{lat:30.6824, lng:-81.9680},{lat:31.0004, lng:-82.1580}];
$scope.mapcenter={lat:$scope.markers[0].lat, lng:$scope.markers[0].lng};
}
<script src = 'http://maps.google.com/maps/api/js?v=3&sensor=true'></script>
<script src = '/assets/vendor/ngmap/build/scripts/ng-map.min.js'></script>
<map center="{{mapcenter.lat}}, {{mapcenter.lng}}" zoom="5" ng-if="is_map" style="height: 500px;">
<marker ng-repeat="pos in markers" position="{{pos.lat}}, {{pos.lng}}"></marker>
</map>
Resul OK
Bad Resul(缩小时)
答案 0 :(得分:2)
我有同样的问题,我想你把这个例子的最小代码。就我而言,问题出在标记图标的SVG图像中。我通过改变他人的图像来解决问题。如果您遇到同样的问题,请尝试使用默认图标进行测试。
答案 1 :(得分:1)
您要实现的目标的实例如下:
注意缩小时现在如何保持标记位置。
我通过将标记的坐标分配如下来解决了这个问题:
$scope.markers = [{
lat: 30.2817,
lng: -81.5273
}, {
lat: 30.6824,
lng: -81.9680
}, {
lat: 31.0004,
lng: -82.1580
}];
答案 2 :(得分:0)
出于某种原因,在css文件中我放了
canvas {width:100%!important;身高:360px!important;}
我删除了这一行并解决了问题。 cavas样式与html中为地图定义的高度冲突