Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.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 如何将不同的URL链接到API v3的多个映射标记_Javascript_Google Maps_Google Maps Api 3 - Fatal编程技术网

Javascript 如何将不同的URL链接到API v3的多个映射标记

Javascript 如何将不同的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

在这里查看这些:

但是他们没有帮助。我不懂编程,完全不懂n00b。我只是想给我的网页添加一些标记动画。我希望能够点击一个单独的标记,一旦它解决,并被重定向到相关的标记url


最新消息:非常感谢您的关注。但是,当我尝试运行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;}不允许