Javascript 用于缩放或显示特定地图标记的按钮
我有32个英国城堡的位置,当点击时,我希望地图标记显示出来,或者放大已经存在的地图标记 例如,当点击Windsor castle按钮时,我希望Windsor castle的地图标记在我拥有的google map API上弹出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=
<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);
});