谷歌地图信息窗口不工作
Google map info window is not working?
我在这里封闭了我的代码,我正在努力将值传递给信息窗口,我正在获得未捕获的TypeError:无法读取未定义的属性'0'。预期:1.我想在信息窗口中显示值2.当我点击按钮时,它应该传递id值我加了小提琴http://jsfiddle.net/cLADs/135/
<!DOCTYPE html>
<html>
<head>
<script type='text/javascript' src="https://maps.googleapis.com/maps/api/js?key=&v=3.0&sensor=true&language=ee"></script>
<style type='text/css'>
#map-canvas {
width: 500px;
height: 500px;
}
</style>
<script type='text/javascript'>//<![CDATA[
window.onload=function($scope,$compile){
var gmarkers1 = [];
var markers1 = [];
var infowindow = new google.maps.InfoWindow({
content: ''
});
// Our markers
markers1 = [
['0', 'Madivala', 12.914494, 77.560381, 'car','as12'],
['1', 'Majestic', 12.961229, 77.559281, 'third','as13'],
['2', 'Ecity', 12.92489905, 77.56070772, 'car','as14'],
['3', 'Jp nagar', 12.91660662, 77.52047465, 'second','as15']
];
/**
* Function to init map
*/
function initialize() {
var center = new google.maps.LatLng(12.9667,77.5667);
var mapOptions = {
zoom: 12,
center: center,
mapTypeId: google.maps.MapTypeId.TERRAIN
};
map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
for (i = 0; i < markers1.length; i++) {
addMarker(markers1[i]);
}
}
/**
* Function to add marker to map
*/
function addMarker(marker) {
var category = marker[4];
var title = marker[1];
var pos = new google.maps.LatLng(marker[2], marker[3]);
var content = marker[1];
marker1 = new google.maps.Marker({
title: title,
position: pos,
category: category,
map: map
});
gmarkers1.push(marker1);
// Marker click listener
google.maps.event.addListener(marker1, 'click', (function (marker1, i) {
return function () {
console.log('Gmarker 1 gets pushed');
var compiled = $compile('<div><div>' +marker1[i][0] + ' </div><div>' + marker1[i][1] + ' </div><div>' +marker1[i][2] + ' </div><div><button ng-click="getid(marker1[' + i + '][5])">Get</button></div></div>')($scope);
var infowindow = new google.maps.InfoWindow({
content: compiled[0]
});
//infowindow.setContent(content);
infowindow.open(map, marker1);
map.panTo(this.getPosition());
map.setZoom(15);
}
})(marker1, i));
}
$scope.getid = function(id) {
console.log(id)
}
/**
* Function to filter markers by category
*/
filterMarkers = function (category) {
for (i = 0; i < markers1.length; i++) {
marker = gmarkers1[i];
// If is same category or category not picked
if (marker.category == category || category.length === 0) {
marker.setVisible(true);
}
// Categories don't match
else {
marker.setVisible(false);
}
}
}
// Init map
initialize();
}//]]>
</script>
</head>
<body>
<div id="map-canvas"></div>
<select id="type" onchange="filterMarkers(this.value);">
<option value="">Please select category</option>
<option value="second">second</option>
<option value="car">car</option>
<option value="third">third</option>
</select>
</body>
</html>
marker1
是代码中的对象
marker1 = new google.maps.Marker({
title: title,
position: pos,
category: category,
map: map
});
然后尝试访问其中的多维数组元素
var compiled = $compile('<div><div>' +marker1[i][0] + ' </div><div>' + marker1[i][1] + ...
那么修复这个错误,我想它应该可以工作了
但是为循环计数器
i
是一种不好的做法
相关文章:
- 为什么不是't窗口.恢复正常工作吗?(javascript/jquery)
- 如何使用modalDialog来显示可以在所有浏览器中工作的弹出窗口
- 更改不在引导模式窗口中工作的月份和年份
- 推特Boostrap模式窗口-可拖动不工作
- window.open没有't在设置setTimeout内工作-弹出窗口被阻止
- JavaScript窗口.位置不;我不在内容编辑器Web部件中工作
- Javascript窗口.open不工作
- 主页键和结束键don'在页面上创建弹出窗口时无法工作
- 引导弹出窗口无法正常工作
- 谷歌Chrome扩展在用Javascript打开的弹出窗口中工作吗
- 单击“阅读更多”时,使Javascript弹出窗口工作
- Page.ClientScript.RegisterClientScriptBlock窗口.打印无法在IE中工作
- 窗口clearInterval()在没有参数的情况下工作
- 科尔多瓦窗口打开_self不起作用,但_blank工作
- 页面工作线程 - destroy() 似乎没有删除窗口对象
- 使图像在通过javascript创建的弹出窗口中工作
- 如何使此模式窗口正常工作
- Browser.ExecScript() 在更新窗口后停止工作
- 模式弹出窗口无法正常工作,它多次调用函数 - 单击事件处理程序运行多次
- 预防保存弹出窗口的默认在 chrome 中工作,但在火狐中不起作用