- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在如何在我的 Google map 上显示标记聚类器时遇到了一些麻烦。我尝试了不同的解决方案 here和 here但似乎都不起作用。
这是相关的代码,我得到了 Uncaught TypeError: Cannot read property 'addMarker' of undefined
因为 places[i] 中没有任何东西:
function initialize(item) {
body = document.getElementById("map");
body.innerHTML = " ";
var positionMap = {lat: -34.397, lng: 150.644};
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 2,
center: positionMap
});
var places = [];
var markerCluster = new MarkerClusterer(map, markers);
var address = []
for (var i = 0; i<item.length; i++) {
person = item[i];
country = person.nationality;
address.push(country);
};
// console.log(address);
var geocoder = new google.maps.Geocoder();
var markers = [];
for (var i = 0; i<address.length; i++) {
(function (i) {
geocoder.geocode({"address":address[i]}, function (results, status){
if (status === google.maps.GeocoderStatus.OK) {
places[i] = results[0].geometry.location;
console.log(places[i]);
var marker = new google.maps.Marker({position: places[i]});
markers.push(marker);
marker.Cluster.addMarker(marker);
} else {
alert("Geocode was not successful for the following reason: " + status);
}
});
})(i);
}
}
例如地址数组:["England", "England", "Ireland", "England", "Croatia", "Antigua and Barbuda", "Senegal", "Scotland", "瑞士"、"英格兰"、"英格兰"、"英格兰"、"英格兰"、"威尔士"、"爱尔兰"、"北爱尔兰"、"洪都拉斯"、"苏格兰"、"北爱尔兰"、"英格兰"、"英格兰”、“英格兰”、“塞内加尔”、“爱尔兰”、“英格兰”、“爱尔兰”、“埃及”、“苏格兰”、“尼日利亚”、“乌拉圭”、“科特迪瓦”]
我的完整js代码:
var teams = [];
function find_team(team_code) {
for(var i = 0; i < teams.length; i++) {
if(teams[i].code === team_code) {
return teams[i];
}
}
return undefined;
}
var process_form = function(team_code) {
// console.log(text);
var team = find_team(team_code);
var player_link = team._links.players;
player = player_link.href;
};
//process player
var process_player = function() {
// console.log(xhttp2.response)
var data = JSON.parse(xhttp2.response);
// console.log(data);
var item = data.players;
// console.log(item);
body = document.getElementById("output");
body.innerHTML = " ";
for (var i = 0; i<item.length; i++) {
person = item[i];
name = person.name;
value = person.marketValue;
country = person.nationality;
position = person.position;
processFormPlayer(name);
processFormPlayer(value);
processFormPlayer(country);
processFormPlayer(position);
};
initialize(item);
}
var processFormPlayer = function(text) {
// console.log(text);
body = document.getElementById("output");
var add = document.createTextNode(text);
var paragraph = document.createElement("p");
paragraph.appendChild(add);
body.appendChild(paragraph);
}
//dropdown menu team options
var processXHRResponse = function() {
// console.log(xhttp.response)
var data = JSON.parse(xhttp.response);
// console.log(data);
teams = data.teams;
// console.log(teams);
for (var i = 0; i < teams.length; i++) {
team = teams[i];
name = team.name;
dropdownElement = document.createTextNode(name);
option = document.createElement("option");
option.value = team.code;
option.appendChild(dropdownElement);
document.getElementById("myteam").appendChild(option);
// console.log(player);
};
}
function initialize(item) {
body = document.getElementById("map");
body.innerHTML = " ";
var positionMap = {lat: -34.397, lng: 150.644};
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 2,
center: positionMap
});
var places = [];
var markerCluster = new MarkerClusterer(map, markers);
var address = []
for (var i = 0; i<item.length; i++) {
person = item[i];
country = person.nationality;
address.push(country);
};
// console.log(address);
var geocoder = new google.maps.Geocoder();
var markers = [];
for (var i = 0; i<address.length; i++) {
(function (i) {
geocoder.geocode({"address":address[i]}, function (results, status){
if (status === google.maps.GeocoderStatus.OK) {
places[i] = results[0].geometry.location;
console.log(places[i]);
var marker = new google.maps.Marker({position: places[i]});
markers.push(marker);
marker.Cluster.addMarker(marker);
} else {
alert("Geocode was not successful for the following reason: " + status);
}
});
})(i);
}
}
var encodeParameters = function(params) {
var strArray = [];
for(var key in params) {
if(params.hasOwnProperty(key)) {
var paramString = encodeURIComponent(key) + "/" + encodeURIComponent(params[key]);
strArray.push(paramString);
}
}
return strArray.join("&");
}
// the parameters for the API request
var parameters = {
competitions: 426,
}
// auth Token obtainable from http://api.football-data.org/register
var authToken = '2fe40f6ab37b43cca925d6fac9b05a0e';
// do the XHR request
var base_url = 'http://api.football-data.org/v1/';
var query_url = base_url + encodeParameters(parameters) + "/" + "teams";
// console.log(query_url);
var xhttp = new XMLHttpRequest();
xhttp.addEventListener('load', processXHRResponse);
xhttp.open('GET', query_url);
xhttp.setRequestHeader("X-Auth-Token", authToken);
xhttp.send();
var doSearch = function () {
var search_term = document.getElementById("myteam").value;
// console.log(search_term);
process_form(search_term);
}
var searchPlayer = function() {
// console.log(player);
xhttp2 = new XMLHttpRequest();
xhttp2.addEventListener('load', process_player);
xhttp2.open('GET', player);
// console.log(player);
xhttp2.setRequestHeader("X-Auth-Token", authToken);
xhttp2.send();
}
window.onload = function() {
// console.log("ready");
var search_button = document.getElementById("search_button");
search_button.addEventListener("click", doSearch);
search_button.addEventListener("click", searchPlayer);
// search_button.addEventListener("click", initialize);
}
html代码:
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link rel="stylesheet" href="css/style.css">
<title>Football statistic</title>
</head>
<body>
<div id="input">
<form>
<select id="myteam">
<option>Select your team</option>
</select>
<input type="button" id="search_button" value="Search">
</form>
</div>
<div id="output"></div>
<div id="map"></div>
<script src="js/script2.js"></script>
<script src="js/markerclusterer.js"></script>
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyA2aUuu3eYJxW4yVvCfmwaeM3znq3_SAZk">
</script>
</body>
</html>
最佳答案
问题 1. 你有:
marker.Cluster.addMarker(marker);
但应该是:
markerCluster.addMarker(marker);
问题 2。您尝试在创建变量 markers
之前创建您的 MarkerClusterer,使用以下行:
var markerCluster = new MarkerClusterer(map, markers);
关于javascript - MarkerClusterer 和地理编码器集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41182569/
Windows 集成 (NTLM) 身份验证和 Windows 集成 (Kerberos) 之间有什么区别? 如何在IIS6中实现这些 w.r.t. MSDN 最佳答案 Kerberos 和 NTLM
Keycloak是一个用 Java 编写的开源身份验证和身份管理解决方案。它提供了一个nodejs适配器,使用它我能够成功地与express集成。这是有效的路由文件: 'use strict'
这是我关于 Bamboo 的第二个问题 ( My First One )。阅读建议信息后我的理解是,我需要一个构建工具,例如 nAnt 或 MSbuild 来编写一个获取源代码并构建它的脚本(我正在开
可用于将第三方应用程序与 jira 4.3 集成的身份验证方案有哪些?显然,从客户那里获取用户名和密码听起来很荒谬。另外,我知道 oauth 身份验证仅适用于版本 5。请告诉我。谢谢。 附注。我不是在
我有一个使用 DDS 的旧版 C++ 应用程序用于异步通信/消息传递。我需要将此应用程序集成到使用 JMS 进行消息传递的 JavaEE 环境中。除了构建独立的 JMS/DDS 桥接模块之外,我还有其
我正在尝试使用 Whatsapp 发送测试消息,但收到此错误消息: "error":{"code":27,"description":"Recipient not available on chann
我想将 photologue 与我的 Django 应用程序集成,并使用它在车辆库存中显示照片......有点像 Boost Motor Group Inc. 提供的内容。我已经集成了该应用程序,所以
我目前正在尝试弄清楚如何与 fujitsu scansnap 扫描仪集成,但没有从 fujitsu 找到有关 fujitsu scansnap 管理器如何调用您的应用程序并将文件发送到您的应用程序的详
在我的项目中,我使用了 9 个(九个)int-ip:udp-inbound-channel-adapter 和一个 jms:inbound-channel-adapter。 Jms 适配器从服务器接收
在我们当前的原型(prototype)中,大多数标准 HTML 控件都被小程序取代,最重要的是表单提交由小程序触发。 有没有一种方法可以像 一样在服务器端调用关联的操作 ? 本文Applet and
是否可以使用 twilio 号码从 whatsapp 发送/接收短信?有人用whatsapp试过twilio吗?我问过客服,如果可能的话,他说,不确定,但很多人都问过这个问题。 最佳答案 万一其他人来
我们办公室中几乎不存在版本控制,这显然导致了很多麻烦。我们想使用SVN和Notepad++进行设置...任何人都对如何实现此目标有任何想法?我已经开始研究并浏览了这个网站: http://www.sw
曾经有提供这种集成的 spring-modules 项目;但是,该项目现已弃用。现在有没有人继续支持这种集成?谢谢。 最佳答案 工作正在进行中。 http://blog.athico.com/sear
我的理解是,根据 http://wiki.dbpedia.org/Datasets,DBpedia 从 YAGO 获取类层次结构,而不是实体。 .但是,类似 http://dbpedia.org/cl
任何人都可以帮助我如何将 OpenCMS 与 Java Spring Web 应用程序集成。已经用谷歌搜索并浏览了很多网站但没有用。所以,请帮助我。 最佳答案 我认为将 SpringMVC 与 Ope
我正在尝试使用新的 migs getaway (MPGS) 我遵循了下一个 url 中的代码 https://ap-gateway.mastercard.com/api/documentation/i
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 4年前关闭。 Improve thi
我有一个 cmake 项目。我想轻松完成以下操作 搜索光标下任何变量、函数等的声明、定义和引用,这些可能在外部头文件中声明,其路径是在CMakeLists.txt中使用INCLUDE_DIRECTOR
有人能给我指点一下 Objective-C(或 c/c++)库的方向,或者教通过 FTP 上传或下载的教程(Objective-C)吗?最好能展示如何将文件下载到临时目录,然后稍后上传?我不介意针对
集成()给出了非常错误的答案: integrate(function (x) dnorm(x, -5, 0.07), -Inf, Inf, subdivisions = 10000L) # 2.127
我是一名优秀的程序员,十分优秀!