Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用角度谷歌地图,我如何添加具有信息窗口的标记?_Javascript_Angularjs_Google Maps_Google Maps Api 3_Angular Google Maps - Fatal编程技术网

Javascript 使用角度谷歌地图,我如何添加具有信息窗口的标记?

Javascript 使用角度谷歌地图,我如何添加具有信息窗口的标记?,javascript,angularjs,google-maps,google-maps-api-3,angular-google-maps,Javascript,Angularjs,Google Maps,Google Maps Api 3,Angular Google Maps,我正在使用google angular maps进行一个项目,我需要让用户单击地图上的一个点来放置一个pin,然后自定义窗口附带的infoWindow。我已经有能力点击地图并放置一个pin,但我不知道如何用它添加信息窗口。我已经仔细阅读了这些文件,但就是找不到明确的答案 我只需要知道所有标记的信息窗口是否需要放在一个单独的数组中,或者它们是否可以作为标记对象的一部分分配给每个标记。我已经设置了ui gmap windows指令,但真的不知道如何正确使用它。这是我的代码的开始,至少可以删除pin

我正在使用google angular maps进行一个项目,我需要让用户单击地图上的一个点来放置一个pin,然后自定义窗口附带的infoWindow。我已经有能力点击地图并放置一个pin,但我不知道如何用它添加信息窗口。我已经仔细阅读了这些文件,但就是找不到明确的答案

我只需要知道所有标记的信息窗口是否需要放在一个单独的数组中,或者它们是否可以作为标记对象的一部分分配给每个标记。我已经设置了ui gmap windows指令,但真的不知道如何正确使用它。这是我的代码的开始,至少可以删除pin

HTML

JS

$scope.markers = [];

$scope.events = {
    click: function (map, eventName, handlerArgs) {
        $scope.$apply(function () {

            $scope.markers.push({
                id: $scope.markers.length,
                latitude: handlerArgs[0].latLng.lat(),
                longitude: handlerArgs[0].latLng.lng(),
                showWindow: true,
                options: {
                    animation: api.Animation.DROP,
                    title: handlerArgs[0].latLng.toUrlValue()

                }
            });
        });
    }
};

var api;
uiGmapGoogleMapApi.then(function(googleMaps) {
    api = googleMaps;
});

ui-gmap窗口中有一个
show
属性,如果要显示信息窗口,可以将其设置为
true
。您可以查看更多详细信息。为了防止任何人对此仍有疑问,本页底部(文档中)有一个很好的示例,它将“窗口”显示设置为true。其实很简单:对于仍然有这个问题的人来说:mdeges的例子很有效,重要的一点是“ng non-bindable”属性!
$scope.markers = [];

$scope.events = {
    click: function (map, eventName, handlerArgs) {
        $scope.$apply(function () {

            $scope.markers.push({
                id: $scope.markers.length,
                latitude: handlerArgs[0].latLng.lat(),
                longitude: handlerArgs[0].latLng.lng(),
                showWindow: true,
                options: {
                    animation: api.Animation.DROP,
                    title: handlerArgs[0].latLng.toUrlValue()

                }
            });
        });
    }
};

var api;
uiGmapGoogleMapApi.then(function(googleMaps) {
    api = googleMaps;
});