Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用于缩放或显示特定地图标记的按钮_Javascript_Jquery_Google Maps Api 3_Google Maps Markers - Fatal编程技术网

Javascript 用于缩放或显示特定地图标记的按钮

Javascript 用于缩放或显示特定地图标记的按钮,javascript,jquery,google-maps-api-3,google-maps-markers,Javascript,Jquery,Google Maps Api 3,Google Maps Markers,我有32个英国城堡的位置,当点击时,我希望地图标记显示出来,或者放大已经存在的地图标记 例如,当点击Windsor castle按钮时,我希望Windsor castle的地图标记在我拥有的google map API上弹出 <div class="england-castles castles-centred" style="display:none"> <div class="col-xs-12 col-md-3"> <button type=

我有32个英国城堡的位置,当点击时,我希望地图标记显示出来,或者放大已经存在的地图标记

例如,当点击Windsor castle按钮时,我希望Windsor castle的地图标记在我拥有的google map API上弹出

<div class="england-castles castles-centred" style="display:none">
   <div class="col-xs-12 col-md-3">
      <button type="button" class="castle-styles castle">Windsor Castle</button> 
                    </div>
                    <div class="col-xs-12 col-md-3">
                        <button type="button" class="castle-styles castle">Leeds Castle</button>
                    </div>
                    <div class="col-xs-12 col-md-3">
                        <button type="button" class="castle-styles castle">Dover Castle</button>
                    </div>
                    <div class="col-xs-12 col-md-3">
                        <button type="button" class="castle-styles castle">Warwick Castle</button>
                    </div>
</div> 

温莎城堡
利兹城堡
多佛城堡
沃里克城堡
//javascript

var castles = [
            ['windsorcastle', 51.483860, -0.606490],
            ['leedscastle', 51.248844, -0.630249],
            ['dovercastle', 51.129524, -1.321235],
            ['warwickcastle', 52.279472, -1.585041]
]

for( i = 0; i < castles.length; i++ ){
        var marker = new google.maps.Marker({
        position: {lat: castles[i][1], lng: castles[i][2]},
        map: map
    });
var城堡=[
[windsorcastle',51.483860,-0.606490],
[Leedscatle',51.248844,-0.630249],
[dovercastle',51.129524,-1.321235],
[沃里克城堡,52.279472,-1.585041]
]
对于(i=0;i
一个选项是将城堡的纬度和经度添加到定义按钮的HTML中:

  <div class="col-xs-12 col-md-3">
    <button type="button" class="castle-styles castle" data-lat="51.483860" data-lng="-0.606490">Windsor Castle</button>
  </div>

(请注意,一个增强功能是使用来自类为“castle”的元素的数据来填充地图上的标记)

代码片段:

var映射;
函数initMap(){
map=new google.maps.map(document.getElementById('map'){
中心:{
lat:-34.397,
液化天然气:150.644
},
缩放:8
});
$(“.castle”)。单击(函数(){
log(this.dataset.lat+,“+this.dataset.lng);
setCenter(新的google.maps.LatLng(this.dataset.lat,this.dataset.lng));
map.setZoom(15);
});
瓦尔城堡=[
[windsorcastle',51.483860,-0.606490],
[Leedscatle',51.248844,-0.630249],
[dovercastle',51.129524,-1.321235],
[沃里克城堡,52.279472,-1.585041]
]
var bounds=new google.maps.LatLngBounds();
对于(i=0;i
/*始终明确设置贴图高度以定义div的大小
*包含映射的元素*/
#地图{
身高:60%;
}
/*可选:使示例页面填充窗口*/
html,
身体{
身高:100%;
保证金:0;
填充:0;
}

温莎城堡
利兹城堡
多佛城堡
沃里克城堡

如果这回答了您的问题,则可能会重复
$(".castle").click(function() {
  map.setCenter(new google.maps.LatLng(this.dataset.lat, this.dataset.lng));
  map.setZoom(15);
});