创建谷歌地图可视化。目前,我正在使用API通过Google的URL下拉彩色标记;基本网址是http://chart.apis.google.com/chart?chst = d_map_pin_letter&chld =%E2%80%A2 |
在这里,您可以像这样在此URL上附加颜色代码。http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=%E2%80%A2|008000
我想将它们存储在某种类型的javascript变量中,因此我只需要将此URL调用1次,而不必为每个标记调用100次。
当前代码不起作用。
var highPin = http: //chart.apis.google.com/chart?chst=d_map_pin_letter&chld=%E2%80%A2|008000;
var lowPin = http: //chart.apis.google.com/chart?chst=d_map_pin_letter&chld=%E2%80%A2|FFFF00;
var medPin = http: //chart.apis.google.com/chart?chst=d_map_pin_letter&chld=%E2%80%A2|FE7569;
balloons[1] = {
center: new google.maps.LatLng(67.1679, 18.3974),
id: 1,
pin: highPin,
addr: '00602',
txt: 'stuff'
};
var bInfo = new google.maps.InfoWindow();
for (i in balloons) {
var balloonOptions = {
map: map,
id: balloons[i].id,
position: balloons[i].center,
icon: balloons[i].pin,
infoWindowIndex: i
};
bMarker = new google.maps.Marker(balloonOptions);
google.maps.event.addListener(bMarker, 'click', (function (bMarker, i) {
return function () {
if (bInfo) {
infoWindow.close();
tInfo.close();
bInfo.close();
}
bInfo.setContent(balloons[i].txt);
bInfo.setPosition(balloons[i].center);
bInfo.open(map);
}
})(bMarker, i));
}
这似乎可以解决问题。
var highPin = 'http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=%E2%80%A2|008000';
var lowPin = 'http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=%E2%80%A2|FFFF00';
var medPin = 'http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=%E2%80%A2|FE7569';
但是我认为仍然为每个图钉调用该URL。有什么方法可以执行此操作,而只需调用URL 1次?
这是无效的JavaScript:
var medPin = http: //chart.apis.google.com/chart?chst=d_map_pin_letter&chld=%E2%80%A2|FE7569;
您正在注释掉冒号(:
)之后的所有内容。
var lowPin = 'http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=%E2%80%A2|FFFF00';
是正确的,并且正如注释中指出的那样,每个唯一的图像仅被提取一次,然后由浏览器缓存以重新使用。
不管您如何访问,都是如此。
另外,该icon
属性仅接受字符串,因此,即使您Image
正确创建了一个新的JavaScript对象,也无法将其传递给该icon
属性。
为了进行记录,要创建一个Image
对象,可以使用以下语法:
var medPin = new Image();
medPin.src = 'http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=%E2%80%A2|FFFF00';
有关图像的更多信息,请参见MDN。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句