更改地图视图而不更改位置

迪亚·埃丁·法拉

我有一个带有默认标记的映射(连接的用户的地址)和其他标记(以阵列传递的地址),我有一个选择输入,其中包含阵列的地址,我喜欢选择选项时更改地图更改的视图所选选项的标记,是否可以在不更改默认标记的默认位置的情况下实现这一点?

是的,有可能。当您的选择输入的“更改”事件被触发时,只需使用新的标记变量创建一个新的Google Maps Javascript API 标记

你可以看看下面的示例代码:

      var map;
      function initMap() {
        var defaultLoc = { "lat" : 37.7749295, "lng" :-122.4194155 };
        map = new google.maps.Map(document.getElementById('map'), {
          center: defaultLoc,
          zoom: 8
        });
        var markerDefault = new google.maps.Marker({
          position : defaultLoc,
          map : map
          
        });
        document.getElementById('menuLoc').addEventListener('change', function(){
          var that = this;
          var geocoder = new google.maps.Geocoder();
          geocoder.geocode({          
            address: that.value
          }, function(result, status){
            if ( status === 'OK' ) {
              var newMarker = new google.maps.Marker({
                position : result[0].geometry.location,
                map: map
              });
              map.setCenter(result[0].geometry.location);
            }           
          });
        });
      }
      /* Always set the map height explicitly to define the size of the div
       * element that contains the map. */
      #map {
        height: 100%;
      }
      /* Optional: Makes the sample page fill the window. */
      html, body {
        height: 100%;
        margin: 0;
        padding: 0;
      }
      #floating-panel {
        position: absolute;
        top: 10px;
        left: 25%;
        z-index: 5;
        background-color: #FFF;
        padding: 5px;
        border: 1px solid #999;
        text-align: center;
        font-family: 'Roboto','sans-serif';
        line-height: 30px;
        padding-left: 10px;
      } 
    <div id="floating-panel">
      <select id="menuLoc">
      <option value="fresno, ca, USA">Fresno</option>
      <option value="sacramento, ca, usa">Sacramento</option>
      <option value="carson city">Carson City</option>
    </select>
    </div>
    <div id="map"></div>
    <script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCzjs-bUR6iIl8yGLr60p6-zbdFtRpuXTQ&callback=initMap"
    async defer></script>

希望它可以并且快乐编码!

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何更改地图的子地图的值?

来自分类Dev

Clojure在不更改顺序的情况下更改地图的值

来自分类Dev

更改地图D3的颜色

来自分类Dev

更改地图颜色的宏(状态)

来自分类Dev

在Cartopy中更改地图边界颜色

来自分类Dev

在ggplot中更改地图颜色

来自分类Dev

更改地图边界Google Maps API

来自分类Dev

更改地图图钉(颜色或图像)

来自分类Dev

用jQuery更改地图地址

来自分类Dev

Android:Google Maps API-更改地图工具栏的位置

来自分类Dev

更改地层图上的基线位置

来自分类Dev

更改谷歌地图的位置

来自分类Dev

以后可以在C ++中更改地图的排序标准吗?

来自分类Dev

如何更改地图容器的内部排序方案?

来自分类Dev

使用mapbox js,如何更改地图样式?

来自分类Dev

更改地图数据时如何防止死锁

来自分类Dev

使用Spectre递归更改地图中的值

来自分类Dev

我想更改地址以协调显示在Google地图上

来自分类Dev

Openlayers 3:更改地图范围时出现的问题

来自分类Dev

更改地图上Google徽标的颜色

来自分类Dev

如何在ggplot中更改地图的大小

来自分类Dev

在 Android 应用程序中更改地图类型

来自分类Dev

在 Haskell 中更改地图中多个键的值

来自分类Dev

重定向通配符URL而不更改地址栏

来自分类Dev

int in for循环中不更改地址(C语言)

来自分类Dev

C:free()无效的指针;不更改地址

来自分类Dev

视图不停留在顶部(不更改位置)

来自分类Dev

如何更改地图的键和值以更改其大小写

来自分类Dev

在Android中更改地图API密钥时未加载地图