首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单击按钮后在GoogleMaps上选择点

单击按钮后在GoogleMaps上选择点
EN

Stack Overflow用户
提问于 2018-11-10 14:51:50
回答 2查看 40关注 0票数 1

我有这样的代码:

代码语言:javascript
复制
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-6 padding_all_2">
      <a href ="#" class="obj-1" id="obj-1"><div class="apartament_atrakcje">Atrakcja 1 pl</div></a>
</div>
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-6 padding_all_2">
      <a href ="#" class="obj-2" id="obj-2"><div class="apartament_atrakcje">Atrakcja 2 PL</div></a>
</div>
<div id="map_canvas"></div>
<script>
   window.onload = function () {
       var styles = [{"featureType":"all"}];
       var bounds = new google.maps.LatLngBounds();
       var options = {
           mapTypeControlOptions: {
               mapTypeIds: ['Styled']
           },
           center: new google.maps.LatLng(11, 22),
           zoom: 15,
           disableDefaultUI: true,
           mapTypeId: 'Styled'
       };
       marker = new google.maps.Marker({
           map:map,
       });
       var div = document.getElementById('map_canvas');
       var map = new google.maps.Map(div, options);
       var styledMapType = new google.maps.StyledMapType(styles, { name: 'Styled' });

       var markers = [
                        [
                          'Atrakcja 1 pl', 
                           51.73925413, 
                           19.51309225, 
                           'Atrakcja 1 pl', 
                           '#'
                         ],
                         [
                           'Atrakcja 2 PL', 
                            53.41475000, 
                            14.60220358, 
                           'Atrakcja 2 PL', 
                           '#'
                         ],
                     ];
       var infoWindow= new google.maps.InfoWindow({maxWidth:600}),
           marker, i,
           image = 'http://localhost/assets/poi.png';

       for( i = 0; i < markers.length; i++ ) {
           var beach = markers[i];
           var position = new google.maps.LatLng(beach[1], beach[2]);
           bounds.extend(position);
           marker = new google.maps.Marker({
               position: position,
               map: map,
               icon: image,
               title: beach[0],
               myurl: beach[4]
           });

           google.maps.event.addListener(marker, 'click', (function(marker, i) {
               return function() {
                   infoWindow.setContent('<a href="'+marker['myurl']+'">'+marker['title']+'</a>');
                   infoWindow.open(map, marker);
               }
           })(marker, i));
           map.fitBounds(bounds);
           map.mapTypes.set('Styled', styledMapType);

       }
   }
</script>

我有两个链接:

代码语言:javascript
复制
- Atrakcja 1 pl
- Atrakcja 2 pl.

我想点击上面的链接,在Google Maps上选择合适的标记。

因此,如果用户点击链接"Atrakcja 1pl“,那么google地图将显示标记Atrakcja 1PLL。我希望地图上的这个标记居中,他的提示将是可见的。

我如何在我的代码中做到这一点?

请帮帮我。

EN

回答 2

Stack Overflow用户

发布于 2018-11-10 15:55:18

如下所示使用addmarker函数:

代码语言:javascript
复制
var markers = [
                        [
                          'Atrakcja 1 pl', 
                           51.73925413, 
                           19.51309225, 
                           'Atrakcja 1 pl', 
                           '#'
                         ],
                         [
                           'Atrakcja 2 PL', 
                            53.41475000, 
                            14.60220358, 
                           'Atrakcja 2 PL', 
                           '#'
                         ],
                     ];

function addmarker(point) {
    var latlng = new google.maps.LatLng(point[1], point[2]);
    var marker = new google.maps.Marker({
        position: latLang,
        title: point[0],
        draggable: true,
        map: map
    });
    map.setCenter(marker.getPosition())
}

$('#obj-1').on('click', function() {
    addmarker(markers[0])
})

$('#obj-2').on('click', function() {
    addmarker(markers[1])
})

此代码使用jquery

将此代码添加到您的html head标记中

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

票数 1
EN

Stack Overflow用户

发布于 2018-11-10 17:05:09

设置标记后使用

代码语言:javascript
复制
map.setCenter(marker.position);
marker.setMap(map);

此外,还必须包含显示地图的脚本

代码语言:javascript
复制
<script src="https://maps.googleapis.com/maps/api/js?key={YOUR_API_KEY}&callback={function}" async defer></script>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53236689

复制
相关文章

相似问题

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