作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我的代码遇到了问题,我尝试从从数据库下载的变量设置谷歌街景位置。它的数据库和 php 端可以工作,但是当我尝试将其分配给“panorama.setPosition(prizeLocation);”时它给我错误“InvalidValueError:setPosition:不是 LatLng 或 LatLngLiteral:不是对象”。我已经尝试并环顾四周,但每个人都遇到 setCenter 的问题,而不是 setPosition 的问题。感谢任何帮助
谢谢
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变量之外,这里的一切都运行良好。所以如果我将变量更改为“varprizeLocation={lat:-43.533476,lng:172.636581};”或者其他有用的东西
最佳答案
PHP 是否设置 mime 类型 application/json
?
console.log(prizeLocation); 是否执行?成功后打印一个字符串或一个对象 - 如果仍然是一个字符串,则执行 prizeLocation = JSON.parse(data.prizeLocation);
{"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);
?>
关于javascript - 无效值错误: setPosition: not a LatLng or LatLngLiteral: not an Object,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42592940/
我是一名优秀的程序员,十分优秀!