在Google地图脚本中填充PHP不起作用
我相信这是一个简单的问题,但我似乎找不到答案。我试图简单地使用动态lat&long from-php调用将googlemap放在一个站点上 当我有此代码时,它会工作:在Google地图脚本中填充PHP不起作用,php,google-maps,Php,Google Maps,我相信这是一个简单的问题,但我似乎找不到答案。我试图简单地使用动态lat&long from-php调用将googlemap放在一个站点上 当我有此代码时,它会工作: <style> html, body, #map-canvas { height: 100%; margin: 0px; padding: 0px } </style> <script src="https:
<style>
html, body, #map-canvas {
height: 100%;
margin: 0px;
padding: 0px
}
</style>
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp"></script>
<script>
function initialize() {
var bryantPark = new google.maps.LatLng(37.869260, -122.254811);
var panoramaOptions = {
position: bryantPark,
pov: {
heading: 165,
pitch: 0
},
zoom: 1
};
var myPano = new google.maps.StreetViewPanorama(
document.getElementById('map-canvas'),
panoramaOptions);
myPano.setVisible(true);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
<div id="map-canvas"></div>
html,正文,#地图画布{
身高:100%;
边际:0px;
填充:0px
}
函数初始化(){
var bryantPark=new google.maps.LatLng(37.869260,-122.254811);
变量全景选项={
职位:bryantPark,
pov:{
标题:165,
音高:0
},
缩放:1
};
var myPano=新建google.maps.StreetViewPanorama(
document.getElementById('map-canvas'),
全景图(可选);
myPano.setVisible(真);
}
google.maps.event.addDomListener(窗口“加载”,初始化);
但是,当我对其进行更新以使LatLng与php调用保持动态时,如下所示:
<?php include("inc/conn.php"); ?>
html,正文,#地图画布{
身高:100%;
边际:0px;
填充:0px
}
函数初始化(){
var bryantPark=newgoogle.maps.LatLng(,);
变量全景选项={
职位:bryantPark,
pov:{
标题:165,
音高:0
},
缩放:1
};
var myPano=新建google.maps.StreetViewPanorama(
document.getElementById('map-canvas'),
全景图(可选);
myPano.setVisible(真);
}
google.maps.event.addDomListener(窗口“加载”,初始化);
当我查看源代码时,我看到lat&long正在填充,但是街景应该在一个灰色框中
有什么想法吗
谢谢 首先,我将使用
而不是
,只是为了确保如果您禁用了,代码也可以工作
其次,我要说:
<?php
$row = array(
'field_Latitude' => 37.869260,
'field_Longitude' => -122.254811
);
?>
而不是您的include
调用并检查结果,以验证所包含的文件中是否有错误
在任何情况下,您都应该检查生成的HTML,并检查传递给
LatLong
的真正参数是什么,而不是预期参数。当您想在街景不可用时显示地图时(假设在半径50米范围内没有全景时街景不可用),创建地图并请求streetViewService检查给定位置是否有全景可用
当它这样做时,设置全景的位置并显示它,否则什么也不做
function initialize() {
//center of the map and position of the panorama (when available)
var center = new google.maps.LatLng(42.698776, -86.181015),
//first initialize the map
map = new google.maps.Map(
document.getElementById('map-canvas'),
{
zoom:21,
center:center,
mapTypeId:google.maps.MapTypeId.SATELLITE
}
),
svService = new google.maps.StreetViewService(),
panoramaOptions = {
pov: {
heading: 165,
pitch: 0
},
zoom: 1,
visible:true
};
//test whether a panorama is available
svService.getPanoramaByLocation(center, 50, function(data,status){
if(status==google.maps.StreetViewStatus.OK){
//panorama is available, show it
var sv=map.getStreetView();
sv.setPosition(center);
sv.setOptions(panoramaOptions);
}
});
}
演示:PHP返回的lat&long值是什么?嘿,Molle博士,这些值是我数据库中的lat&long值。所以我知道通话是好的。这一定不是通话的问题,可能是值的问题(街景不适用于世界上的每个位置),您可以使用来检查某个位置是否有全景图有趣的Molle博士!使用您提供的链接,我现在至少可以生成一张地图,但不能生成街景,也不能在地图上定位。。。再近一步!街景是灰色的,但我知道有街景可用,这告诉我什么?它必须是某种类型的街景才能显示吗?所以我更新为“echo$row…”,结果也是一样的。短标记禁用当我添加阵列时,我能够通过拖动选项加载街景,例如左上角的圆形指南针,但并没有图像,只有灰色框。。。然而,几乎产生了结果。。。我想这可能是CSS的问题。谢谢Molle博士!这起作用了。然而,我刚刚意识到,供应商给我的纬度和长度是错误的!哈哈,当然,在修复之后,我发现了另一个外部问题。谢谢,这仍然有用!
function initialize() {
//center of the map and position of the panorama (when available)
var center = new google.maps.LatLng(42.698776, -86.181015),
//first initialize the map
map = new google.maps.Map(
document.getElementById('map-canvas'),
{
zoom:21,
center:center,
mapTypeId:google.maps.MapTypeId.SATELLITE
}
),
svService = new google.maps.StreetViewService(),
panoramaOptions = {
pov: {
heading: 165,
pitch: 0
},
zoom: 1,
visible:true
};
//test whether a panorama is available
svService.getPanoramaByLocation(center, 50, function(data,status){
if(status==google.maps.StreetViewStatus.OK){
//panorama is available, show it
var sv=map.getStreetView();
sv.setPosition(center);
sv.setOptions(panoramaOptions);
}
});
}