使用angularjs应用程序在谷歌地图上显示标记

时间:2014-12-24 18:46:30

标签: javascript angularjs ionic

在ioanic angularjs app里面,我试图在谷歌地图上显示一些位置。我正在使用lat和lon渲染谷歌并成功地居中地图,但我无法在该确切位置显示标记。 这是代码 图

<ion-view title="Location" ng-controller="LocationDetailController as vm">
<ion-content class="has-header">        
    <ui-gmap-google-map draggable="true" center="vm.map.center" zoom="vm.map.zoom" options="options">
        <ui-gmap-markers models="vm.marker" coords="'self'"  fit='true' icon="'icon'">
    </ui-gmap-google-map>   
    </ion-content>
</ion-view>

和LocationDetailController内部

...
vm.map = {
            center: {                           
                        latitude: vm.details.Latitude,
                        longitude: vm.details.Longitude
                    },
                    zoom: 13
            };
vm.marker = {                       
                latitude: vm.details.Latitude,
                longitude: vm.details.Longitude
            };
...

我在这里缺少什么?

1 个答案:

答案 0 :(得分:0)

缺少两件事。

第一个是markers指令期望一个数组并准备处理许多标记,即使你只将它用于一个标记,传递给models属性的值也需要是一个数组。

其次,每个标记(即使只有一个标记)在该标记的模型对象中需要一个唯一的ID。

更新代码:

$scope.vm.markers = [{
    id : 99,
    latitude: 43.67023,
    longitude: -79.38676
}];

Here is a working Plunkr