使用相对文件路径在 Google 地图中显示自定义标记
Display Custom Marker in Google Maps Using Relative File Path
我正在使用Google的Javascript APi v.3.0来开发一个Web应用程序。我希望能够显示自定义标记,但是当我尝试添加它们时,它们没有显示。我在 Javascript 中编写了一个辅助函数来显示自定义标记:
function addCustomMarker(iconFile,iconTitle,lat,lng){
var loc = new google.maps.LatLng(lat,lng);
var marker = new google.maps.Marker({
position:loc,
icon:iconFile,
title: iconTitle,
zIndex:2
});
marker.setMap(map);//Where map is a google.maps.Map already defined
}
我目前正在本地测试,我的文件结构如下所示:
- /地图应用
- 地图.htm
- /图像
- 标记图像.png
在 html 文件的其他地方,我调用 javascript 函数,如下所示:
addCustomMarker('Images/markerImage.png', 'Custom Marker', 20, 50);
但是,这不起作用。不显示任何标记。如果我注释掉"icon:markerIcon"行,则会显示默认标记,这告诉我它找不到图像文件。
有没有办法像我尝试的那样从相对路径引用标记图像?我也尝试过"./Images/markerImage.png"和"/Images/markerImage.png",但都不起作用。
是的,我也认为相对路径有效。我在本地尝试过,效果很好。我相信icon:
只是将值放入img
标签的src
或类似的东西中。
这是我的例子:
var marker = new google.maps.Marker({map: map,
position: new google.maps.LatLng(0,0),
icon: "icons/ride_red.png"});
icons
是 JavaScript/HTML 文件所在的同一文件夹中的文件夹。
您确定大小写正确吗?如果您尝试"硬编码"icon
选项,即:
icon: 'Images/markerImage.png',
现在这里有一个愚蠢的问题:您是否也尝试过在浏览器中打开该markerImage.png
?
在本地页面旁边,下面是一个具有相对图标路径的页面。选中"地铁 SP 站"复选框以显示图标。如果你看一下来源,
estacao = new google.maps.Marker({
map: map,
position: toLatLng(estacao_data.posn[0], estacao_data.posn[1]),
icon: 'metrosp/' + estacao_data.icon[0] + '.png',
title: estacao_data.name,
visible: false
});
然后,您可以导航到metrosp
文件夹并查看所有图像:
https://files.nyu.edu/hc742/public/googlemaps/metrosp/
不可以,不能对图像使用相对地址。图钉显示在来自不同服务器的页面上,因此您必须使用完整的地址。
- 如何在用户按下F5键或单击浏览器时显示自定义的fancybox's后退/关闭按钮
- 如何在html中以角度显示自定义指令的作用域
- 使用Plaid Link显示自定义用户名和密码模式对话框
- 根据屏幕分辨率显示自定义背景图像
- 登录时显示自定义错误消息
- 如何在具有多边形的同一地图上显示自定义标记
- 如何在javascript中使画布显示自定义图像作为背景
- Chrome扩展-在全屏视频顶部显示自定义通知/弹出窗口(HTML元素)
- 根据 IP 向 Web 访问者显示自定义消息
- 如何使用人力车库在折线图上显示自定义工具提示
- 无法显示自定义对话框
- 使用相对文件路径在 Google 地图中显示自定义标记
- 如何在移动浏览器的屏幕顶部显示自定义警报
- Wavesurfer.js:如何显示自定义标记
- 在谷歌地图中按类型显示自定义图像标记图标
- 如何在检测到浏览器关闭事件时显示自定义弹出窗口
- 通过jQuery在Html.ValidationMessageFor中显示自定义错误
- 自定义HTML5表单验证最初未显示自定义错误
- 在剑道装载指示器上显示自定义文本
- 如何在jqGrid中隐藏和显示自定义按钮通过使用"reccount”;