我使用谷歌地理編碼將地址轉換爲緯度/經度座標,然後在我的數據庫搜索附近的其他'物品'(實際存儲地址)。這是工作,我'地點'foreach循環工作正常(如果我看看控制檯,我看到一個數組)。但是當我去添加標記時,什麼也沒有顯示出來。我沒有得到下面的代碼的任何錯誤,但如果我console.log(lat)它顯示NaN。谷歌地圖標記不顯示與數據庫中的多個緯度/經度座標
根據var'myLatlng',地圖顯示並正確居中,但沒有製造商顯示。我在SO(HERE)上看到,地理編碼創建了一個字符串,因此您需要將字符串解析爲浮點。但我下面的嘗試不起作用。
我正在使用laravel 5. 如果你想看看我如何得到我的經緯度座標,請參閱我對自己的問題的回答HERE。 我template.blade.php頁有這樣的:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?key=MYKEY&signed_in=true&libraries=places"></script>
頁我有圖有以下這些腳本標記腳本。
下面是我有地圖的頁面的相關代碼。 articles.index.blade.php
@section('footer')
<script>
function initialize() {
var map_canvas = document.getElementById('map_canvas');
var myLatlng = new google.maps.LatLng(parseFloat({{ $article->lat }}),parseFloat({{ $article->lng }}));
var map_options = {
center: myLatlng,
zoom: 10,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(map_canvas, map_options)
var locations = [
@foreach($articles as $article)
[{{$article->lat}}, {{$article->lng}}]
@endforeach
];
var lat = parseFloat(locations[0]);
var lon = parseFloat(locations[1]);
for (i = 0; i < locations.length; i++) {
var location = new google.maps.LatLng(lat, lon);
var marker = new google.maps.Marker({
position: location,
map: map,
});
}
}
google.maps.event.addDomListener(window, "load", initialize);
</script>
@stop
謝謝。位置數組顯示在我的控制檯中。現在(感謝您的回答)每個座標後都有一個逗號,但是...仍然沒有標記?如果我console.log(拉特)現在我得到一個座標,而不是NaN。 –
我有個問題。位於每個數組中的數字如下所示:[「x.xxxxxxxx」,「-x.xxxxxx」]?是格式? –
傳奇!是的,新的邏輯運作,爲什麼? –