在Google地图脚本中填充PHP不起作用

在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:

我相信这是一个简单的问题,但我似乎找不到答案。我试图简单地使用动态lat&long from-php调用将googlemap放在一个站点上

当我有此代码时,它会工作:

     <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);
          }

      });
}