当前位置: 首页 > 知识库问答 >
问题:

如何在谷歌地图信息窗口中创建链接?

董畅
2023-03-14

我想创建一个谷歌地图标记列表,这些标记填充关于这些特定位置的信息窗口,并在信息窗口内链接到维基百科关于该位置的文章。我在这个google.maps.event.add监听器(place.marker,单击,函数() {}单击函数中进行Ajax调用,并且这个函数在一个self.allPlace()中。/code>迭代遍历我所有位置的函数。

该链接填充在InfoWindows中,但它只有在您右键单击并在新选项卡中打开时才会打开,而我希望它只需左键单击即可打开。

function ajax() {
            return $.ajax({
                type: 'GET',
                url: wikiURL,
                dataType: "jsonp",
                prop: 'pageimages'
            });
        }

        ajax().done(function(response) {
            clearTimeout(self.apiTimeout);
            var articleList = response[1];
            console.log(response);
            if (articleList.length > 0) {
                for (var i = 0; i < articleList.length; i++) {
                    var url = response[3]; // response[3] gives back the wiki URL
                    content = '<div class="infoWindow"><strong>' + place.title + '</strong><br>' +
                                '<p>' + place.formatted_address + '</p>' +
                                '<p>' + response[2] + '</p>' + // response[2] for more modern response
                                '<a href="' + url + '" target="_blank">' +
                                "View full Wikipedia article" + '</a>' +
                    '</div>';
                    infoWindow.setContent(content);
                }
            }

共有1个答案

慕容恩
2023-03-14

我认为您的实现可能会对错误有所帮助。检查创建的Content变量是否看起来像代码示例ContentString变量

尝试并遵循链接中的示例代码。

代码示例:

var contentString = '<div id="content">'+
'<div id="siteNotice">'+
'</div>'+
'<h1 id="firstHeading" class="firstHeading">Uluru</h1>'+
'<div id="bodyContent">'+
'<p><b>Uluru</b>, also referred to as <b>Ayers Rock</b>, is a large ' +
'sandstone rock formation in the southern part of the '+
'Northern Territory, central Australia. It lies 335&#160;km (208&#160;mi) '+
'south west of the nearest large town, Alice Springs; 450&#160;km '+
'(280&#160;mi) by road. Kata Tjuta and Uluru are the two major '+
'features of the Uluru - Kata Tjuta National Park. Uluru is '+
'sacred to the Pitjantjatjara and Yankunytjatjara, the '+
'Aboriginal people of the area. It has many springs, waterholes, '+
'rock caves and ancient paintings. Uluru is listed as a World '+
'Heritage Site.</p>'+
'<p>Attribution: Uluru, <a href="https://en.wikipedia.org/w/index.php?title=Uluru&oldid=297882194">'+
'https://en.wikipedia.org/w/index.php?title=Uluru</a> '+
'(last visited June 22, 2009).</p>'+
'</div>'+
'</div>';
var infowindow = new google.maps.InfoWindow({
content: contentString
});
 类似资料:
  • 我正在用VueJS在Laravel 5.7中构建一个应用程序。我有一个谷歌地图(使用vue2谷歌地图构建),有200个标记,每个标记都有一个信息窗口。我想在infoWindow中包含一个路由器链接,但由于该链接是作为字符串传递的,所以Vue似乎没有对其进行解析。 这是我目前的组件-除了路由器链接,所有的工作 有人能建议一种方法来解析路由器链接吗? 谢谢你

  • 我正在尝试自定义信息窗口,并在加载地图时显示它。自定义信息窗口出现了,但是,除了默认的信息窗口背景(白色)之外,我还没有为出现的标记设置图标?为什么我会得到这个默认值? 以下是我尝试的内容的屏幕截图: 我不想要白色窗口和标记图标?我正在尝试实现以下截图:如何使用Android map API v2创建自定义形状的位图标记 以下是我正在尝试的:

  • 我想为谷歌地图上的每个标记创建一个自己的窗口。我尝试了这个: 不幸的是,只有第二个标记有一个包含的窗口。如果我单击第一个标记,那么带有的第二个标记的窗口就会弹出。我不明白为什么会发生这种情况。 我注意到,如果我为第二个标记和第二个窗口使用一个新变量,每个标记都有自己的窗口,如下所示: 但我完全不明白为什么我需要使用新的变量。为什么我不能覆盖旧的变量? 注意:这个问题是关于如何获取多个不同的info

  • 升级到NativeScript6后,在iOS上点击谷歌地图上的标记以显示相关信息窗口,应用程序就会崩溃。这是由于_layoutrootview被删除-请参见https://github.com/dapriett/nativescript-google-maps-sdk/issues/354 问题是没有提供任何替代方案,google-maps-sdk插件最近也没有任何活动。 按照@manoj的指示,

  • 我如何根据坐标创建谷歌地图链接。他们的新基本共享网址包含许多参数,例如- https://www.google.com/maps/place/Vetlanda,瑞典/@57.4217311,15.0849255,13z/data=!3m1!4b1!4m2!3m1!1s0x465758d912d321b5:0x55675191e550be84?hl=en 有什么想法吗?不希望嵌入,而只是创建可以共享

  • 还有另外四个if语句,它们对其他类别做同样的事情。 它会显示标记,但当我单击标记时,它会显示上次创建的标记的信息窗口。