使用google maps api检查文件是否存在的javascript

使用google maps api检查文件是否存在的javascript,javascript,google-maps,google-maps-api-3,file-exists,Javascript,Google Maps,Google Maps Api 3,File Exists,我试图检查并查看是否存在图像,以便可以相应地调整我的contentString。但是,当我尝试这样做时,地图上只显示一个pin(第一个) var签入=; 函数imageExists(url,回调){ var img=新图像(); img.onload=function(){callback(true);}; img.onerror=function(){callback(false);}; img.src=url; } 函数initMap(){ var map=new google.maps.m

我试图检查并查看是否存在图像,以便可以相应地调整我的contentString。但是,当我尝试这样做时,地图上只显示一个pin(第一个)

var签入=;
函数imageExists(url,回调){
var img=新图像();
img.onload=function(){callback(true);};
img.onerror=function(){callback(false);};
img.src=url;
}
函数initMap(){
var map=new google.maps.map(document.getElementById('map'){
缩放:4,
中心:{lat:39.8282,lng:-98.5795}
});
设置标记(地图);
}
函数设置标记(map){
var infowindow=new google.maps.infowindow({
内容:“”
});
对于(变量i=0;i'+checkin[4]+'由'+checkin[5]+'
在'+checkin[1]+'
'处执行; bindInfoWindow(标记、映射、infowindow、contentString); }否则{ contentString=''+checkin[6]+'
'+checkin[4]+'由'+checkin[5]+'
在'+checkin[1]+''处执行; bindInfoWindow(标记、映射、infowindow、contentString); } }); } } 函数bindInfoWindow(标记、地图、infowindow、说明){ marker.addListener('click',function()){ infowindow.setContent(描述); 打开(地图,这个); }); }

正如您通过
imageExists
函数所看到的,我尝试添加一个检查来查看图像是否存在,但是它只在地图上绘制了一个pin。如果您想查看该网站的外观,则该网站当前已发布到。我想修复的一个例子是,如果你点击百慕大的图标(没有与之相关的图像文件)。

你很接近,如果(ImageExists(image)!=0){

首先,您已将函数声明为
ImageExists
,因此需要修复该错误。其次,您可能希望将
if(ImageExists(image)!=0){
更改为
if(ImageExists(image)){
,因为您的函数将返回布尔值

最后,在
contentString
中有一些未关闭的HTML

对代码进行这些调整应该可以修复它,它看起来是这样的:

if (ImageExist(image)) {
    contentString = '<b>'+checkin[6]+'</b><br><b>'+checkin[4]+'</b> by <b>'+checkin[5]+'</b><br>At <b>'+checkin[1]+'</b><br><img src="pictures/'+checkin[0]+'.jpg" style="width:300px;height:300px;">';
} else {
    contentString = '<b>'+checkin[6]+'</b><br><b>'+checkin[4]+'</b> by <b>'+checkin[5]+'</b><br>At <b>'+checkin[1]+'</b>';
}
if(图像存在(图像)){
contentString='+checkin[6]+'
'+checkin[4]+'由'+checkin[5]+'
在'+checkin[1]+'
'处执行; }否则{ contentString=''+checkin[6]+'
'+checkin[4]+'由'+checkin[5]+'
在'+checkin[1]+''处执行; }
您可以在这里看到它在JS小提琴中工作:

以及一个更新的小提琴,显示它正在使用placehold中的图像。它:


希望这能有所帮助!

您的关系非常密切,如果(ImageExists(image)!=0){

首先,您已将函数声明为
ImageExists
,因此需要修复该错误。其次,您可能希望将
if(ImageExists(image)!=0){
更改为
if(ImageExists(image)){
,因为您的函数将返回布尔值

最后,在
contentString
中有一些未关闭的HTML

对代码进行这些调整应该可以修复它,它看起来是这样的:

if (ImageExist(image)) {
    contentString = '<b>'+checkin[6]+'</b><br><b>'+checkin[4]+'</b> by <b>'+checkin[5]+'</b><br>At <b>'+checkin[1]+'</b><br><img src="pictures/'+checkin[0]+'.jpg" style="width:300px;height:300px;">';
} else {
    contentString = '<b>'+checkin[6]+'</b><br><b>'+checkin[4]+'</b> by <b>'+checkin[5]+'</b><br>At <b>'+checkin[1]+'</b>';
}
if(图像存在(图像)){
contentString='+checkin[6]+'
'+checkin[4]+'由'+checkin[5]+'
在'+checkin[1]+'
'处执行; }否则{ contentString=''+checkin[6]+'
'+checkin[4]+'由'+checkin[5]+'
在'+checkin[1]+''处执行; }
您可以在这里看到它在JS小提琴中工作:

以及一个更新的小提琴,显示它正在使用placehold中的图像。它:


希望有帮助!

您在控制台中看到了哪些javascript错误?请提供一个示例来说明您的问题。不幸的是,我在javascript中没有发现任何错误。它只是没有正确显示。以上是有效的代码(网站上当前的代码)下面的两个部分分别是我替换的部分和我替换的部分,以使其仅放置第一个pin。请提供一个示例来说明您的问题,包括任何必需的数据/HTML/CSS。您有JS文件吗?您的域在我所在的位置无法访问。不幸的是,没有。代码包含一点php,这是必需的uired允许它运行。我还没有完全弄明白JSFIDLE如何处理这个问题。您在控制台中看到了哪些javascript错误?请提供一个示例来说明您的问题。不幸的是,我在javascript中没有发现任何错误。它只是没有正确显示。以上是有效的代码(目前在网站上)下面的两个部分分别是我替换的部分和我替换的部分,以使其仅放置第一个pin。请提供一个示例来说明您的问题,包括任何必需的数据/HTML/CSS。您有JS文件吗?您的域在我所在的位置无法访问。不幸的是,没有。代码包含一点php,这是必需的我想让它运行。我还没有完全弄明白JSFIDLE是否可以使用它。工作起来很有魅力。谢谢。当然,这是很愚蠢的。好吧,所以我实现了这个,它工作了,但现在它停止了工作。即使在你的JSFIDLE中。有什么想法吗?
ImageExists()
函数现在似乎总是返回false。它看起来仍在运行。
ImageExists()
函数在JS Fiddle中始终为我返回false,因为我的ISP阻止了您的域。如果我使用placehold.it中的图像,使用您阵列中的数据作为图像大小,它会工作。我更新了Fiddle以显示: