Javascript 谷歌地图-自定义JS以输出信息窗口和标记问题
试图简化我的谷歌地图自定义代码,以放置标记和信息气泡。然而,我遇到了一些问题,我似乎无法调试下面的代码,它目前没有输出任何东西。代码定义lat/long/title和content,然后尝试将它们作为地图上的标记输出Javascript 谷歌地图-自定义JS以输出信息窗口和标记问题,javascript,google-maps,Javascript,Google Maps,试图简化我的谷歌地图自定义代码,以放置标记和信息气泡。然而,我遇到了一些问题,我似乎无法调试下面的代码,它目前没有输出任何东西。代码定义lat/long/title和content,然后尝试将它们作为地图上的标记输出 <script type="text/javascript"> function initialize() { var myLatlng = new google.maps.LatLng(20,0); var myOptions = {
<script type="text/javascript">
function initialize() {
var myLatlng = new google.maps.LatLng(20,0);
var myOptions = {
zoom: 2,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.TERRAIN
}
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
var countries = [
{title:'Afghanistan', lat:34.28, lon:69.11, content:"<h2>Afghanistan</h2><p>16 Alumni</p>"},
{title:'Albania', lat:41.18, lon:19.49, content:"<h2>Albania</h2><p>7 Alumni</p>"},
{title:'Angola', lat:-8.5, lon:13.15, content:"<h2>Angola</h2><p>9 Alumni</p>"},
{title:'Antarctica', lat:-80, lon:0, content:"<h2>Antarctica</h2><p>1 Alumnus</p>"},
{title:'Antigua & Barbuda', lat:17.20, lon:-61.48, content:"<h2>Antigua & Barbuda</h2><p>1 Alumnus</p>"},
{title:'Argentina', lat:-36.30, lon:-60, content:"<h2>Argentina</h2><p>29 Alumni</p>"},
];
for (i=0;i<countries.length;i++)
{
c = countries[i];
marker: new google.maps.Marker({position: new google.maps.LatLng(" + c['lat'] + "," + c['lon'] + "), map: map, title: '" + c['title'] + "'}),
infowindow: new google.maps.InfoWindow({content: '" + c['content'] + "'});
}
var item;
for (var i=0; i<countries.length; i++) {
item = countries[i];
google.maps.event.addListener(item.marker, 'click', makeCallback(item));
}
function makeCallback(country) {
return function () {
country.infowindow.open(map, country.marker);
};
}
函数初始化(){
var mylatng=new google.maps.LatLng(20,0);
变量myOptions={
缩放:2,
中心:myLatlng,
mapTypeId:google.maps.mapTypeId.TERRAIN
}
var map=new google.maps.map(document.getElementById(“map_canvas”),myOptions);
var国家=[
{标题:'Afghanistan',lat:34.28,lon:69.11,内容:“Afghanistan16校友”,
{标题:“阿尔巴尼亚”,拉丁语:41.18,拉丁语:19.49,内容:“阿尔巴尼亚7校友”“},
{标题:'Angola',lat:-8.5,lon:13.15,内容:“Angola9校友”,
{标题:'南极洲',lat:-80,lon:0,内容:“南极洲1校友”“},
{标题:'安提瓜和巴布达',lat:17.20,lon:-61.48,内容:“安提瓜和巴布达1名校友”,
{标题:'阿根廷',lat:-36.30,lon:-60,内容:“阿根廷29校友”“},
];
对于(i=0;i而言,代码中存在各种印刷和语法错误。此外,不需要在变量位置构造字符串。以下是一个工作版本:
...
var countries = [...];
for (var i = 0; i < countries.length; i++) {
var c = countries[i];
c.marker = new google.maps.Marker({
position: new google.maps.LatLng(c.lat, c.lon),
map: map,
title: c.title});
c.infowindow = new google.maps.InfoWindow({content: c.content});
google.maps.event.addListener(c.marker, 'click', makeCallback(c));
}
function makeCallback(country) {
return function () {
country.infowindow.open(map, country.marker);
};
}
。。。
var国家=[…];
对于(var i=0;i
wow谢谢,看起来我做错的比我想象的要多,非常感谢你的帮助!我很高兴帮助你。如果你对我的答案感到满意,你可以给我投票(数字上方的箭头-数字将增加)并接受我的答案(数字下方的复选标记-复选标记变为绿色)。
...
var countries = [...];
for (var i = 0; i < countries.length; i++) {
var c = countries[i];
c.marker = new google.maps.Marker({
position: new google.maps.LatLng(c.lat, c.lon),
map: map,
title: c.title});
c.infowindow = new google.maps.InfoWindow({content: c.content});
google.maps.event.addListener(c.marker, 'click', makeCallback(c));
}
function makeCallback(country) {
return function () {
country.infowindow.open(map, country.marker);
};
}