2017-03-04 63 views
0

所以Ive得到了我的代碼,我嘗試設置,從我從數據庫中下載的變量的谷歌街景位置的問題。它的數據庫和PHP的一面工作,但當我嘗試並將其分配給「panorama.setPosition(prizeLocation);」它給了我錯誤「InvalidValueError:setPosition:不是LatLng或LatLngLiteral:不是對象」。我嘗試過,並且四處看看,但是每個人都遇到了setCenter問題,而不是setPosition問題。任何幫助表示讚賞InvalidValueError:setPosition兩種:不是經緯度或LatLngLiteral:不是一個對象

感謝

HTML代碼:

<script> 
var prizeLocation; 
function downloadCoords() { 
    $.ajax({ 
     type: 'GET', 
     url: 'prizeCoordsTransformer.php', 
     dataType: "json", 
     success: function(data) { 
      console.log(data); 
      prizeLocation = data.prizeLocation; 
      console.log(prizeLocation); 
     }, 
     error: function(data) { 
     console.log(data); 
     } 
    }); 
} 
</script 

(後下的腳本)

<script> 
setTimeout(function() { 
    console.log(prizeLocation); 
    panorama = map.getStreetView(); 
    panorama.setPosition(prizeLocation); 
    panorama.setPov({ 
     heading: 265, 
     pitch: 0 
    }); 
    panorama.setVisible(true); 
    panorama.setOptions({ 
     fullscreen: true, 
     enableCloseButton: false 
    }); 
}, 2000); 
</script> 

PHP代碼:

<?php 

ini_set('display_errors', 0); 
error_reporting(E_ERROR); 
$servername = "localhost"; 
$username = "username"; 
$password = "password"; 
$dbname = "db"; 

// Create connection 
$conn = mysqli_connect($servername, $username, $password); 
mysqli_select_db($conn, $dbname); 

// Check connection 
if (!$conn) 
{ 
    die("Connection failed: " . mysqli_connect_error()); 
} 
// echo "Connected successfully"; 


$query = "SELECT prizeLocation FROM prizeLocation"; 
$result = mysqli_query($conn, $query); 
$result1 = mysqli_fetch_row($result); 



echo json_encode(array('prizeLocation'=>$result1[0])); 

mysqli_close($conn); 

?> 

附:這裏的一切都很完美,但是prizeLocation變量。所以如果我要將變量更改爲「var prizeLocation = {lat:-43.533476,lng:172.636581};」或者它會工作的東西

+0

請問console.log(prizeLocation);在成功打印一個字符串或對象 – mplungjan

+0

@mplungjan對象 –

回答

1
  1. PHP設置MIME類型application/json

  2. 是否執行console.log(prizeLocation);在成功打印一個字符串或對象 - 如果仍然是一個字符串,做prizeLocation = JSON.parse(data.prizeLocation);

  3. 的對象應該是{"lat": -43.533476, "lng": 172.636581}

喜歡這個

var pl = {"lat": -43.533476, "lng": 172.636581}; 
 
    console.log(pl);

試試這個

<?PHP 
header("content-type:application/Json"); 
$arr = array('lat' => -43.533476, 'lng' => 172.636581); 
echo json_encode($arr); 
?> 
+0

1.是2.我試過了,我得到這個錯誤「未捕獲的SyntaxError:在0位置的意外標記升的JSON」這可能是因爲在PHP我做這個「echo json_encode(array('prizeLocation'=> $ result1 [0]));」 –

+0

你能準確地顯示console.log的內容嗎? – mplungjan

+0

對象{prizeLocation: 「緯度:-43.533476,經度:172.636581」} –

相關問題