RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 1069490
Accepted
Руслан
Руслан
Asked:2020-01-14 02:24:45 +0000 UTC2020-01-14 02:24:45 +0000 UTC 2020-01-14 02:24:45 +0000 UTC

如何通过单击按钮更改 Yandex 地图的中心?

  • 772

有一个 id="map" 的 Yandex 地图<div id="map" style="width: 99%; height: 500px" class="myMap"></div>和一个按钮<button id="btnMap">кнопка </button>任务如下:代理有三个地址var myCenter0 = [59.893254, 30.331014]; var myCenter1 = [59.890658, 30.318321]; var myCenter2 = [59.894513, 30.320270];,需要每次点击 id="btnMap" 的按钮时第一个地址变为第二个,第二个到第三个,第三个到第一个,依此类推。为此,我将所有三个地址放在一个数组中,let arrLatLng = [myCenter0, myCenter1, myCenter2];然后在变量 i 中创建它,其中 i 的值为零,我将此值替换为 arrLatLng 数组键,并将此键替换为myMap 类中的中心属性(中心:arrLatLng[i])看起来像这样:function init(){ var myMap = new ymaps.Map("map", { center: arrLatLng[i], zoom: 17 }); }如果您手动更改变量 i 的值,则地图上的中心会更改。我必须说他们帮助我解决了同样的问题,但它是在谷歌地图上,这里是链接如何通过点击谷歌地图 api JavaScript 上的一个按钮来更改地址?. 我试图通过类比来解决,但这里没有出现整个代码`ymaps.ready(init); var myCenter0 = [59.893254, 30.331014];//地址#1 var myCenter1 = [59.890658, 30.318321];//地址#2 var myCenter2 = [59.894513, 30.320270];//地址#3 let arrLatLng = [myCenter0, myCenter1 myCenter2 ];//三个地址的数组(或任何中心)

  var i = 0; 

  $("#btnMap").click(function() {
    i = (i + 1) % arrLatLng.length;
    myMap.setCenter(arrLatLng[i]);

  });

  function init(){
    var myMap = new ymaps.Map("map", {
      center: arrLatLng[i],//вот в ключ массива подставляется значение переменной i таким образом менятся на карте центр 
      zoom: 17
  });

  }
</script>`
яндекс-карты
  • 1 1 个回答
  • 10 Views

1 个回答

  • Voted
  1. Best Answer
    naivv
    2020-01-14T15:26:57Z2020-01-14T15:26:57Z

    你可以这样尝试:

    ymaps.ready(init);
    
    function init() {
      var myMap = new ymaps.Map("map", {
          center: [59.890658, 30.318321],
          zoom: 15
        }, {
          searchControlProvider: 'yandex#search'
        }),
        labels = [
          [59.893254, 30.331014],
          [59.890658, 30.318321],
          [59.894513, 30.320270]
        ],
        labelIndex = labels.length - 1;
    
      $("#btnCycle").click(function() {
    
        if (labelIndex < labels.length - 1) {
          labelIndex += 1
        } else {
          labelIndex = 0
        }
        myMap.setCenter(labels[labelIndex]);
        //    myMap.geoObjects.removeAll();
        //    myPlacemark = new ymaps.Placemark(labels[labelIndex] , {
        //                      balloonContent: labels[labelIndex],
        //                      hintContent: labels[labelIndex]
        //                    });
        //    myMap.geoObjects.add(myPlacemark);			
      });
    }
    <!doctype html>
    <html lang="ru">
    
    <head>
      <meta charset="UTF-8">
      <script src="https://api-maps.yandex.ru/2.1/?lang=ru_RU" type="text/javascript"></script>
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
    </head>
    
    <body>
      <input id="btnCycle" type="button" value="Cycle" />
      <div id="map" style="width: 800px; height: 600px"></div>
    </body>
    
    </html>

    • 0

相关问题

  • 如何为 Yandex 地图制作这样的基板?

  • setZoom,平滑缩放

  • Yandex Maps API:如何将照片附加到标签?[关闭]

  • 如何在yandex.mapkit中确定用户的位置

  • 如何为 yandex 地图添加签名以及标记?

  • Yandex 地图 API 中的图层

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    如何从列表中打印最大元素(str 类型)的长度?

    • 2 个回答
  • Marko Smith

    如何在 PyQT5 中清除 QFrame 的内容

    • 1 个回答
  • Marko Smith

    如何将具有特定字符的字符串拆分为两个不同的列表?

    • 2 个回答
  • Marko Smith

    导航栏活动元素

    • 1 个回答
  • Marko Smith

    是否可以将文本放入数组中?[关闭]

    • 1 个回答
  • Marko Smith

    如何一次用多个分隔符拆分字符串?

    • 1 个回答
  • Marko Smith

    如何通过 ClassPath 创建 InputStream?

    • 2 个回答
  • Marko Smith

    在一个查询中连接多个表

    • 1 个回答
  • Marko Smith

    对列表列表中的所有值求和

    • 3 个回答
  • Marko Smith

    如何对齐 string.Format 中的列?

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5