首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >angular-google-maps地图引脚随地图移动

angular-google-maps地图引脚随地图移动
EN

Stack Overflow用户
提问于 2015-02-05 00:58:02
回答 2查看 1.8K关注 0票数 2

我有以下代码,但问题是,指向地址的引脚是不固定的,如果地图被移动,引脚保持在相同的位置,而不是停留在它被钉住的地方。

控制器

代码语言:javascript
复制
$scope.map = {
                        center: {
                            latitude: location.lat,
                            longitude: location.long
                        },
                        zoom: 17,
                        formattedAddress: location.formatted_address
                    }

视图

代码语言:javascript
复制
<ui-gmap-google-map
                class="col-md-12"
                center="map.center"
                zoom="map.zoom"
                ng-cloak>
            <ui-gmap-marker coords="map.center" idkey="1" ng-cloak>
                <ui-gmap-window>
                    <p>{{map.formattedAddress}}</p>
                </ui-gmap-window>
            </ui-gmap-marker>

        </ui-gmap-google-map>
EN

回答 2

Stack Overflow用户

发布于 2015-06-01 19:37:31

标记被设置在te地图的中心

代码语言:javascript
复制
<ui-gmap-marker coords="map.center" idkey="1" ng-cloak>

在创建地图时,不要使地图中心和标记坐标成为相同的对象参考,这一点也很重要。

代码语言:javascript
复制
var coords = {lat: x, lng : x}
map.center = coords
marker.coords = coords

因为这也会使标记移动。使用

代码语言:javascript
复制
marker.coords = Object.create(coords)
票数 10
EN

Stack Overflow用户

发布于 2015-04-21 13:02:42

我遇到过一个类似的问题,即映射绑定到1个坐标属性,其中映射位于中心。然后我有一个标记,我想把它放在相同的位置。

当您移动地图时,绑定的'ui-gmap-google-map center=“map.center”属性发生了变化,标记也被绑定到相同的map.center属性,因此它也随之移动。

我用两个独立的坐标对象解决了这个问题。一个用于初始地图中心,另一个用于标记。那么拖动其中一个不会影响另一个。

(在我的情况下,我希望您可以省略‘ui-gmap-google-center= center="map.center"’,而只依赖标记的' fit‘属性来智能地拟合所有标记,而不必关心地图在哪里居中。我认为有一种方法可以用“bound”属性来实现,但是会循环遍历所有的标记,并计算出从左上角到右下角的最大的lat/long边界。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28327076

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档