根据缩放级别在坐标上显示自定义图像
Show custom image on a coordinate depending on zoom level
我想根据缩放级别在谷歌地图上显示自定义图像。已经在这里检查了答案,但我无法正常工作。
当第一次加载页面时(缩放级别3),在我使用zoom<4.但当我放大或缩小时,图像在3级变焦时突然消失。
所以它有点起作用,只适用于第一次在浏览器中加载页面时的部分。
var seamarker, i;
var seamarkers = [];
var locations = [
[53.473190, -31.504191, 'image2.png'],
[32.473190, -31.504191, 'image3.png']
];
/* Get the markers from the array */
for (i = 0; i < locations.length; i++) {
seamarker = new google.maps.Marker({
position: new google.maps.LatLng(locations[i][0], locations[i][1]),
map: map,
visible: true, // or false. Whatever you need.
icon: locations[i][2],
zIndex: 10
});
seamarkers.push(seamarker); // save all markers
}
/* Change markers on zoom */
google.maps.event.addListener(map, 'zoom_changed', function() {
zoom = map.getZoom();
if (zoom <= 4) {
for (i = 0; i < locations.length; i++) {
seamarkers[i].setMap(null);
}
} else {
for (i = 0; i < locations.length; i++) {
seamarkers[i].setMap(map);
}
}
});
下面是谷歌的代码
function initializeMaps() {
var myOptions = {
center: new google.maps.LatLng(34.914164,12.469482),
zoom: 3,
zoomControl: false,
panControl: false,
disableDoubleClickZoom: true,
mapTypeControl: false,
scaleControl: false,
scrollwheel: true,
streetViewControl: false,
draggable : true,
overviewMapControl: false,
mapTypeId: google.maps.MapTypeId.ROADMAP,
您最初会看到两个标记,因为这两个标记都是可见的。
当您放大或缩小时,zoom_changed-事件将触发,您的代码当前将:
- 缩放>4:显示两个标记
- 缩放<4:隐藏两个标记
当您只想绘制一个标记,但位置/图标取决于缩放级别时,只创建一个标记并在缩放更改时设置选项图标/位置:
//create a single "blank" marker
seamarker = new google.maps.Marker({zIndex: 10});
//apply the listener
google.maps.event.addListener(map, 'zoom_changed', function(){
var i=(this.getZoom()<=4)?0:1;
seamarker.setOptions({ map:this,
icon:locations[i][2],
position:new google.maps.LatLng(locations[i][0],
locations[i][1])})
});
//trigger the event to draw the initial marker
google.maps.event.trigger(map,'zoom_changed');
相关文章:
- 如何在用户按下F5键或单击浏览器时显示自定义的fancybox's后退/关闭按钮
- 如何在html中以角度显示自定义指令的作用域
- 使用Plaid Link显示自定义用户名和密码模式对话框
- 根据屏幕分辨率显示自定义背景图像
- 登录时显示自定义错误消息
- 如何在具有多边形的同一地图上显示自定义标记
- 如何在javascript中使画布显示自定义图像作为背景
- Chrome扩展-在全屏视频顶部显示自定义通知/弹出窗口(HTML元素)
- 根据 IP 向 Web 访问者显示自定义消息
- 如何使用人力车库在折线图上显示自定义工具提示
- 无法显示自定义对话框
- 使用相对文件路径在 Google 地图中显示自定义标记
- 如何在移动浏览器的屏幕顶部显示自定义警报
- Wavesurfer.js:如何显示自定义标记
- 在谷歌地图中按类型显示自定义图像标记图标
- 如何在检测到浏览器关闭事件时显示自定义弹出窗口
- 通过jQuery在Html.ValidationMessageFor中显示自定义错误
- 自定义HTML5表单验证最初未显示自定义错误
- 在剑道装载指示器上显示自定义文本
- 如何在jqGrid中隐藏和显示自定义按钮通过使用"reccount”;