如何使用Ionic&Angular在Google Maps API v3中实现居中标记

用户名

我已使用Maps API v3和ngCordova在Ionic项目中创建了地图,以获取当前位置并使用以下代码:

    var options = {timeout: 10000, enablehighAccuracy: false};
    $cordovaGeolocation.getCurrentPosition(options)
        .then(function (position) {
            var myLat = position.coords.latitude;
            var myLong = position.coords.longitude;
            console.log(myLat, myLong);
            var center = new google.maps.LatLng(myLat, myLong);
            var mapOptions = {
                center: center,
                zoom: 16,
                mapTypeId: google.maps.MapTypeId.ROADMAP,
                streetViewControl: false,
                mapTypeControl: false,
                zoomControl: false
            };
            var map = new google.maps.Map(document.getElementById("map"), mapOptions);
        }, function (err) {
            console.log(err);
        });

我想在此地图上创建一个标记,该标记将在平移地图时保持居中状态(类似于Hailo,Uber等),以便用户只需移动地图即可定义特定位置。我在Maps API文档中找不到此内容或任何教程/提示。

谁能建议一个简单的方法来做到这一点?另外,我是否认为用户移动地图时可以检索地图中心(标记所在的位置)的新坐标?

马蒂斯·罗格斯(Mathijs Rutgers)

这应该可以解决问题。

Javascript
    var options = {
      timeout: 10000,
      enablehighAccuracy: false
    };
    $cordovaGeolocation.getCurrentPosition(options)
      .then(function(position) {
          var myLat = position.coords.latitude;
          var myLong = position.coords.longitude;
          console.log(myLat, myLong);
          var center = new google.maps.LatLng(myLat, myLong);
          var mapOptions = {
            center: center,
            zoom: 16,
            mapTypeId: google.maps.MapTypeId.ROADMAP,
            streetViewControl: false,
            mapTypeControl: false,
            zoomControl: false
          };
          var map = new google.maps.Map(document.getElementById("map"), mapOptions);
          //This is where the marker is added, an empty div is created, then a class of 'centerMarker' is added. Clickevents are registered and bound to the map.    
          $('<div/>').addClass('centerMarker').appendTo(map.getDiv())
            //do something onclick
            .click(function() {
              var that = $(this);
              if (!that.data('win')) {
                that.data('win', new google.maps.InfoWindow({
                  content: 'this is the center'
                }));
                that.data('win').bindTo('position', map, 'center');
              }
              that.data('win').open(map);
            });
        }
      },
      function(err) {
        console.log(err);
      });
CSS
.centerMarker {
  position: absolute;
  /*url of the marker*/
  background: url(http://maps.gstatic.com/mapfiles/markers2/marker.png) no-repeat;
  /*center the marker*/
  top: 50%;
  left: 50%;
  z-index: 1;
  /*fix offset when needed*/
  margin-left: -10px;
  margin-top: -34px;
  /*size of the image*/
  height: 34px;
  width: 20px;
  cursor: pointer;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Google Maps Javascript API V3中的旋转标记

来自分类Dev

Google Maps Javascript API V3中的旋转标记

来自分类常见问题

如何在Google Maps API v3中使用SVG标记

来自分类Dev

动画化不同的标记API V3 Google Maps

来自分类Dev

标记位置未获取-Google Maps API v3

来自分类Dev

标记拖动事件Google Maps API V3

来自分类Dev

Google Maps API v3标记问题

来自分类Dev

Google Maps API v3唯一标记JS

来自分类Dev

Google Maps Javascript API v3的标记

来自分类Dev

Google Maps JS api v3延迟拖拽标记

来自分类Dev

如何在Google Maps API v3中将类添加到标记

来自分类Dev

使用可拖动的Google Maps API V3在输入字段中获取标记地址

来自分类Dev

Font Awesome图标作为Google Maps API V3中的标记

来自分类Dev

地图标记无法呈现-Phonegap中的Google Maps Javascript API v3

来自分类Dev

Codeigniter + Biostall 的 Google Maps API v3:不同标记中的不同信息窗口

来自分类Dev

在Google Maps API v3中绘制多个圆圈

来自分类Dev

延迟在Google Maps API V3中添加图层

来自分类Dev

如何创建直接链接以访问特定的Google Maps API V3标记?

来自分类Dev

Google Maps v3 API:如何通过拖动更改路线来更新标记的位置?

来自分类Dev

使用MVC模型在Google Maps API v3上显示标记

来自分类Dev

显示/隐藏标记并使用信息窗口Google Maps API v3

来自分类Dev

Google Maps Api v3标记。Google未定义

来自分类Dev

无法切换标记Google Maps API v3

来自分类Dev

Google Maps API V3:使半径搜索标记的圆可单击

来自分类Dev

Google Maps API v3上的标记超出范围

来自分类Dev

Google Maps API v3:在新窗口中打开标记上的链接

来自分类Dev

查找最接近我的地理位置的标记Google Maps API V3

来自分类Dev

缩放后会显示隐藏的标记-API Google Maps V3

来自分类Dev

Google Maps API v3在单击的标记上添加阴影

Related 相关文章

  1. 1

    Google Maps Javascript API V3中的旋转标记

  2. 2

    Google Maps Javascript API V3中的旋转标记

  3. 3

    如何在Google Maps API v3中使用SVG标记

  4. 4

    动画化不同的标记API V3 Google Maps

  5. 5

    标记位置未获取-Google Maps API v3

  6. 6

    标记拖动事件Google Maps API V3

  7. 7

    Google Maps API v3标记问题

  8. 8

    Google Maps API v3唯一标记JS

  9. 9

    Google Maps Javascript API v3的标记

  10. 10

    Google Maps JS api v3延迟拖拽标记

  11. 11

    如何在Google Maps API v3中将类添加到标记

  12. 12

    使用可拖动的Google Maps API V3在输入字段中获取标记地址

  13. 13

    Font Awesome图标作为Google Maps API V3中的标记

  14. 14

    地图标记无法呈现-Phonegap中的Google Maps Javascript API v3

  15. 15

    Codeigniter + Biostall 的 Google Maps API v3:不同标记中的不同信息窗口

  16. 16

    在Google Maps API v3中绘制多个圆圈

  17. 17

    延迟在Google Maps API V3中添加图层

  18. 18

    如何创建直接链接以访问特定的Google Maps API V3标记?

  19. 19

    Google Maps v3 API:如何通过拖动更改路线来更新标记的位置?

  20. 20

    使用MVC模型在Google Maps API v3上显示标记

  21. 21

    显示/隐藏标记并使用信息窗口Google Maps API v3

  22. 22

    Google Maps Api v3标记。Google未定义

  23. 23

    无法切换标记Google Maps API v3

  24. 24

    Google Maps API V3:使半径搜索标记的圆可单击

  25. 25

    Google Maps API v3上的标记超出范围

  26. 26

    Google Maps API v3:在新窗口中打开标记上的链接

  27. 27

    查找最接近我的地理位置的标记Google Maps API V3

  28. 28

    缩放后会显示隐藏的标记-API Google Maps V3

  29. 29

    Google Maps API v3在单击的标记上添加阴影

热门标签

归档