-1
我在Rails中显示图像时遇到问题。我有两张图片(bluedot.svg和reddot.svg)。 bluedot.svg将显示在网站上。 reddot.svg未在网站上显示。我试图在谷歌地图上将点显示为标记。这是我的代码。在Rails中找不到SVG图像
对于蓝色标记:
var iconBlue = {
url: "<%= image_path('bluedot.svg') %>", // url
scaledSize: new google.maps.Size(80, 70), // scaled size
origin: new google.maps.Point(0,0), // origin
anchor: new google.maps.Point(0,0) // anchor
};
var marker = new google.maps.Marker({
map: map,
position: geolocate,
icon: iconBlue,
animation: google.maps.Animation.DROP,
title: "Current Location",
html:
'<div class=MarkerPop>' +
'<p>Latitude: '+ position.coords.latitude + '</p>' +
'<p>Longitude: '+ position.coords.longitude + '</p>'
});
对于红色标记:
var iconRed = {
url: "<%= image_path('reddot.svg') %>", // url
scaledSize: new google.maps.Size(80, 70), // scaled size
origin: new google.maps.Point(0,0), // origin
anchor: new google.maps.Point(0,0) // anchor
};
$.each(locationId, function() {
myLatlng = new google.maps.LatLng(locationLat[counter], locationLng[counter]);
clearMarkers();
allMarkers.push(new google.maps.Marker({
position: myLatlng,
map: map,
icon: iconRed,
animation: google.maps.Animation.DROP,
title: locationName[counter],
html:
'<div class=MarkerPop>' +
'<h1>' + locationName[counter] + '<h1>' +
'<h3>' + locationAddress[counter] + '<h3>' +
'<p>' + locationComment[counter] + '</p>' +
'<div>'
})
);
的图像是仅填充颜色不同相同。他们都在同一个文件夹中。
我试图预编译图像,但这也没有帮助。
rake assets:precompile
我试图删除临时/缓存/资产文件夹和公共/资产文件夹,重新启动服务器,但是这并没有帮助。
我将javascript文件扩展名从map.js更改为map.js.erb。这有助于但没有显示图像。
是我得到谷歌浏览器控制台中的错误:
GET http://localhost:3000/images/reddot.svg 404 (Not Found)
是我得到的Rails的服务器控制台错误:
ActionController::RoutingError (No route matches [GET] "/images/reddot.svg")
没有任何人有一个想法是什么未来去做?
你可以浏览这两个网址并查看/获取图像吗?如果你运行'耙路线',会出现什么情况? – Rik
我想通了,这有点傻。在文件资源管理器中,我无法在reddot.svg文件名称之间看到空格。它被命名为“reddot .svg”。一旦我去了控制台,并查看图像名称,我看到了错误。感谢@rik的帮助! – Samuel