2016-07-21 73 views
-1

這行不能正常工作,並且在控制檯中沒有錯誤。谷歌地圖問題DB的地址位置

position: new google.maps.LatLng(coordsArray[i].location), 

數據由alert(coordsArray[i].location);位置一直是數據庫領域的確認返回經緯度-43.59670,172.38247爲字符串。

這條線的工作原理:position: new google.maps.LatLng(-43.59670,172.38247), 什麼是上述相同的數據,任何想法我的代碼有什麼問題?

var list_location = localStorage.getItem('myHouse'); 
 
var obj = JSON.parse(list_location); 
 
var coordsArray = obj; 
 
var marker; 
 
var locX; 
 
var image = 'http://apppics.weebly.com....png'; 
 
var map = Appery("googlemap_6").options.mapElement.gmap('get', 'map'); 
 

 

 
var CreateMarker = function(coordsArray, i){ 
 
var marker = new google.maps.Marker({ 
 
position: new google.maps.LatLng(coordsArray[i].location), 
 
//position: new google.maps.LatLng(-43.59670,172.38247), 
 

 
title: coordsArray[i].storeName, 
 
map: Appery("googlemap_6").gmap, 
 
}); 
 

 
for (var i = 0, j = coordsArray.length; i < j-1; i++) 
 
alert(coordsArray[i].location); 
 
CreateMarker(coordsArray, i);

回答

0

這是不正確的:new google.maps.LatLng(coordsArray[i].location)

您聲明:「位置已經被數據庫字段返回LatLng -43.59670,172.38247作爲一個字符串。」

google.maps.LatLng構造函數有兩個號碼作爲參數(未逗號分隔的字符串)。

如果coordsArray[i].location是逗號分隔的字符串,請將其轉換爲兩個數字。

var coords = coordsArray[i].location.split(","); 
var latLng = new google.maps.LatLng(parseFloat(coords[0]), parseFloat(coords[1])); 
var marker = new google.maps.Marker({ 
    position: latLng, 
    map: map 
}); 

代碼片斷:

var geocoder; 
 
var map; 
 

 
function initialize() { 
 
    var map = new google.maps.Map(
 
    document.getElementById("map_canvas"), { 
 
     center: new google.maps.LatLng(37.4419, -122.1419), 
 
     zoom: 13, 
 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
 
    }); 
 
    var location = "-43.59670,172.38247"; 
 
    coords = location.split(","); 
 
    var latLng = new google.maps.LatLng(parseFloat(coords[0]), parseFloat(coords[1])); 
 
    var marker = new google.maps.Marker({ 
 
    position: latLng, 
 
    map: map 
 
    }); 
 
    map.setCenter(latLng); 
 

 
} 
 
google.maps.event.addDomListener(window, "load", initialize);
html, 
 
body, 
 
#map_canvas { 
 
    height: 100%; 
 
    width: 100%; 
 
    margin: 0px; 
 
    padding: 0px 
 
}
<script src="https://maps.googleapis.com/maps/api/js?"></script> 
 
<div id="map_canvas"></div>