0
我有一個非常令人沮喪的錯誤,它更接近分辨率,但不是那麼完美。我試圖在基於經緯度座標的經緯度座標的Google Map上放置標記。在Google地圖上放置標記時出現的JavaScript錯誤
感謝一些見解,它看起來像我不是很熟悉的AJAX,是從模型中獲取這些座標,然後使用它將標記放置在地圖上的方法。在看從結果的源代碼,被檢索的座標,但錯誤是通過螢火蟲造成:
syntax error
[Break On This Error]
function loadMarkers(stories):
/report/all/ (line 1172, col 29)
任何深入瞭解什麼可能會造成這一點,什麼是可能的解決方案將受到歡迎。就像參考一樣,這是處於開發模式,所有的座標都在同一個地方,可能太多了。地圖不再使用「loadMarkers」函數顯示。
代碼如下:
<script>
function mainGeo()
{
if (navigator.geolocation)
{
navigator.geolocation.getCurrentPosition(mainMap, error, {maximumAge: 30000, timeout: 10000, enableHighAccuracy: true});
}
else
{
alert("Sorry, but it looks like your browser does not support geolocation.");
}
}
var map;
function mainMap(position)
{
// Define the coordinates as a Google Maps LatLng Object
var coords = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
// Prepare the map options
var mapOptions =
{
zoom: 15,
center: coords,
mapTypeControl: false,
navigationControlOptions: {style: google.maps.NavigationControlStyle.SMALL},
mapTypeId: google.maps.MapTypeId.ROADMAP
};
// Create the map, and place it in the map_canvas div
map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
// Place the initial marker
var marker = new google.maps.Marker({
position: coords,
map: map,
title: "Your current location!"
});
}
function error() {
alert("You have refused to display your location. You will not be able to submit stories.");
}
mainGeo();
var stories = [{% for story in stories %}
{{story.latitude}},{{story.latitude}}, {% endfor %}];
loadMarkers(stories);
function loadMarkers(stories):
for (var s in stories) {
var story = story[s];
var point = new google.maps.LatLng(story[s]);
var marker = new google.maps.Marker({position: point, map: map});
}
編輯:修補的代碼,但獲取相同的錯誤
var stories = [{% for story in stories %}
({{story.latitude}},{{story.longitude}}) {% endfor %}];
loadMarkers(stories);
function loadMarkers(stories):
for (var s in stories) {
var story = story[s]
var point = new google.maps.LatLng(story.latitude, story.longitude);
var marker = new google.maps.Marker({position: point, map: map});
}
更改良好的捕獲。上面的修改代碼。仍然導致相同的錯誤。 「故事」var的每個單獨對象都有一個逗號分隔的經緯度。 –