Javascript 如何将不同的URL链接到API v3的多个映射标记
在这里查看这些: 但是他们没有帮助。我不懂编程,完全不懂n00b。我只是想给我的网页添加一些标记动画。我希望能够点击一个单独的标记,一旦它解决,并被重定向到相关的标记urlJavascript 如何将不同的URL链接到API v3的多个映射标记,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,在这里查看这些: 但是他们没有帮助。我不懂编程,完全不懂n00b。我只是想给我的网页添加一些标记动画。我希望能够点击一个单独的标记,一旦它解决,并被重定向到相关的标记url 最新消息:非常感谢您的关注。但是,当我尝试运行html页面时,会出现一个空白屏幕。我更新了下面的代码。我还删除了z索引,并将所有代码更新放在标记内的标记之间)最后,我删除了initialize();调用函数并使用。理论上,运行代码应该在地图上放置3个标记,并在给定neighborhoods.length=3的情况下指定U
最新消息:非常感谢您的关注。但是,当我尝试运行html页面时,会出现一个空白屏幕。我更新了下面的代码。我还删除了z索引,并将所有代码更新放在标记内的标记之间)最后,我删除了initialize();调用函数并使用。理论上,运行代码应该在地图上放置3个标记,并在给定neighborhoods.length=3的情况下指定URL。但是,刷新后页面仍保持空白
因此,有东西阻止浏览器将地图加载到页面上。是否需要在中调整地图画布?我的更新代码在下面的下一篇文章中:——
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Marker animations with <code>setTimeout()</code></title>
<style>
html, body, #map-canvas {
height: 100%;
margin: 0px;
padding: 0px
}
#panel {
position: absolute;
top: 5px;
left: 50%;
margin-left: -180px;
background-color: #fff;
padding: 5px;
border: 1px solid #999;
}
</style>
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"
type="text/javascript"></script>
</head>
<body onload="initialize()";>
<script>
<div id="panel" style="margin-left: -52px">
<button id="drop" onclick="drop()">Drop Markers</button>
</div>
<div id="map-canvas"></div>
var sacramento = new google.maps.LatLng(38.576725, -121.493715);
var iterator = 0; // I added back this initialized variable which //wasn't in your adjusted code shown here
var neighborhoods = [
new google.maps.LatLng(38.576725, -121.493715),
new google.maps.LatLng(35.011263, -115.473376),
new google.maps.LatLng(33.941820, -118.408466)];
var markers = [];
var map;
var mapUrl = [
'http://www.google.com',
'http://www.youtube.com',
'http://maps.google.com'];
function initialize() {
{......etc. }
</script>
</body>
</html>
您的代码中有几个问题。语法等。我从代码中删除了一些东西,以使其更易于理解(setTimeout、toggleBounce等)。我在
initialize()
函数中添加了对drop()
函数的调用。我还将window.location.href
替换为在DIV中显示URL。检查底部的fiddle链接
var sacramento = new google.maps.LatLng(38.576725, -121.493715);
var neighborhoods = [
new google.maps.LatLng(38.576725, -121.493715),
new google.maps.LatLng(35.011263, -115.473376),
new google.maps.LatLng(33.941820, -118.408466)];
var markers = [];
var map;
var mapUrl = [
'http://www.google.com',
'http://www.youtube.com',
'http://maps.google.com'];
function initialize() {
var mapOptions = {
zoom: 5,
center: sacramento
};
map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
drop();
}
function drop() {
for (var i = 0; i < neighborhoods.length; i++) {
addMarker(i);
}
}
function addMarker(iterator) {
var marker = new google.maps.Marker({
position: neighborhoods[iterator],
map: map,
draggable: false,
url: mapUrl[iterator],
animation: google.maps.Animation.DROP
});
google.maps.event.addListener(marker, 'click', function () {
document.getElementById('goToLocation').innerHTML = 'Will send you to ' + this.url;
});
markers.push(marker);
}
initialize();
var sacramento=new google.maps.LatLng(38.576725,-121.493715);
var邻域=[
新的google.maps.LatLng(38.576725,-121.493715),
新的google.maps.LatLng(35.011263,-115.473376),
新google.maps.LatLng(33.941820,-118.408466)];
var标记=[];
var映射;
var mapUrl=[
'http://www.google.com',
'http://www.youtube.com',
'http://maps.google.com'];
函数初始化(){
变量映射选项={
缩放:5,
中心:萨克拉门托
};
map=new google.maps.map(document.getElementById('map-canvas'),mapOptions);
下降();
}
函数drop(){
for(var i=0;i
这应该有助于你开始
非常感谢您继续关注此问题。但是,当我尝试运行html页面时,会出现一个空白屏幕。我更新了下面的代码。我还删除了z索引,并将所有代码更新放在标记内的标记之间)最后,我删除了initialize();调用函数并使用。理论上,运行代码应该在地图上放置3个标记,并在给定neighborhoods.length=3的情况下指定URL。但是,刷新后页面仍为空白。因此,浏览器无法将地图加载到页面上。是否需要在中调整地图画布?我更新的代码在下面的下一篇文章中:使用
setTimeout()
html,body,#地图画布{高度:100%;边距:0px;填充:0px}面板标记动画{位置:绝对;顶部:5px;左侧:50%;左边距:-180px;背景色:#fff;填充:5px;边框:1px实心#999;}不允许