Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.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/2/jquery/81.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 我有一个有两种语言内容的网站。如何通过单击事件更改google地图信息窗口的语言?_Javascript_Jquery - Fatal编程技术网

Javascript 我有一个有两种语言内容的网站。如何通过单击事件更改google地图信息窗口的语言?

Javascript 我有一个有两种语言内容的网站。如何通过单击事件更改google地图信息窗口的语言?,javascript,jquery,Javascript,Jquery,我正在写一个英文和瑞典语的网站。当在导航栏上单击该标志时,站点的语言将发生变化。但我在更改信息窗口的内容时遇到问题。如果有一个已经用英语打开,然后单击瑞典国旗,信息窗口内容将更改为瑞典语。但是,如果我点击瑞典国旗,然后打开信息窗口,内容是英文的。我想我能理解为什么——因为语言的改变是因为点击事件,而且信息窗口在打开之前不存在,所以点击事件不能改变它。然而,我真的不知道如何解决它。我只在标记的一个位置添加了瑞典语内容,因为我想在尝试之前先让它工作。我对编码非常陌生,尤其是Javascript,所以

我正在写一个英文和瑞典语的网站。当在导航栏上单击该标志时,站点的语言将发生变化。但我在更改信息窗口的内容时遇到问题。如果有一个已经用英语打开,然后单击瑞典国旗,信息窗口内容将更改为瑞典语。但是,如果我点击瑞典国旗,然后打开信息窗口,内容是英文的。我想我能理解为什么——因为语言的改变是因为点击事件,而且信息窗口在打开之前不存在,所以点击事件不能改变它。然而,我真的不知道如何解决它。我只在标记的一个位置添加了瑞典语内容,因为我想在尝试之前先让它工作。我对编码非常陌生,尤其是Javascript,所以我非常感谢您的帮助

.english-content {
    display: block;
}
​
.swedish-content{
    display: none;
}
var位置=[
//湖泊和森林坐标
{
拉脱维亚:56.2679,
液化天然气:14.3251,
信息:
“

伊梅恩湖(Lake Immeln)位于克里斯蒂安斯塔德(Kristianstad)以北约23公里,拥有清洁的水质、良好的捕鱼和廉价的捕鱼许可证。伊梅恩湖是瑞典最适合划独木舟的湖泊之一,它有许多岛屿和入口,为你在自己的海岸线过夜提供了很多机会。你总能找到一个安静的海湾,不必担心。”无论风向如何。

归属:

伊梅恩,克里斯蒂安斯塔德北纬23公里的cirka,埃尔布朱德·兰特·瓦滕,布拉·菲斯克·奥奇斯特纳德。德塔·斯维里吉斯·伯斯塔·斯加尔·弗尔划船,梅德恩·恩加尔·奥克·维卡尔·杜卡德·卡德·卡恩·阿滕·阿滕·瓦滕·奥克特·弗纳塔·伯勒·德特·伯勒·德塔·伯勒·维恩·德塔·德塔·伯勒在新的海盗到来之前,要明确自己的身份。

“, 类型:湖景, }] ​ var markers=locations.map(函数(位置,i){ var marker=new google.maps.marker({ 位置:位置,, 图标:位置[i%locations.length]。键入, }); ​ google.maps.event.addListener(标记“单击”,函数(){ infoWin.setContent(location.info); 打开(地图、标记); }); 返回标记; }); ​ ​ //单击相关标志时,在瑞典语和英语之间切换。 ​ $(“#标志”)。单击(函数(){ $(“.swedish content”).toggle(); $(“.swedish heading”).toggle(); $(“.english content”).toggle(); $(“.english heading”).toggle(); });
信息窗口的内容是在用户单击标记时设置的,这意味着您需要一种在单击时检查当前语言的方法。因此a)将a
infoEng
infoSwe
放在您的位置,b)更改行
infoWin.setContent(location.info)类似于
infoWin.setContent(siteLang==“english”?location.infoEng:location.infoSwe)。现在,您只需在切换语言时设置全局变量
siteLang
。对不起。我只是编辑了它,因为我意识到我有一些早期化身的代码。非常感谢你的帮助,@ChrisG。祝你有一个美好的一天/一个美好的夜晚,无论你身在何处!
var locations = [
    //Lakes and Forests coordinates
    {
      lat: 56.2679,
      lng: 14.3251,
      info:
        "<a id='info-header' class='info-header' href='https://visitskane.com/outdoors-adventure/lake-immeln' target='_blank'>Lake Immeln</a><p class='english-content'>Lake Immeln with its clean water, good fishing and cheap fishing permits is about 23 kilometres north of Kristianstad. It is one of Sweden’s best lakes for canoeing with its many islands and inlets that offer lots of opportunities for overnight camping on your own piece of shoreline. You can always find a quiet bay no matter which direction the wind blows.</p><p>Attribution: <a href='https://visitskane.com/outdoors-adventure/lake-immeln' target='_blank'>Visit Skåne</a></p><p class='swedish-content'>Immeln, cirka 23 kilometer norr om Kristianstad, erbjuder rent vatten, bra fiske och tystnad. Detta är en av Sveriges bästa sjöar för paddling med mångaöar och vikar där du kan hitta en egen rofylld plats att övernatta på. Även när det blåser är det inte långt till lä i nästa vik.</p>",
        type: lakesIcon,
    }]
​
var markers = locations.map(function (location, i) {
    var marker = new google.maps.Marker({
      position: location,
      icon: locations[i % locations.length].type,
    });
​
    google.maps.event.addListener(marker, "click", function () {
      infoWin.setContent(location.info);
      infoWin.open(map, marker);
    });
    return marker;
  });
​
​
  //Toggle between Swedish and English language when the relevant flag is clicked.
​
   $("#flag").click(function () { 
    $(".swedish-content").toggle();
    $(".swedish-heading").toggle(); 
      $(".english-content").toggle();
      $(".english-heading").toggle();

   });