Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在google map API v3上显示json输出_Php_Json_Google Maps Api 3 - Fatal编程技术网

Php 在google map API v3上显示json输出

Php 在google map API v3上显示json输出,php,json,google-maps-api-3,Php,Json,Google Maps Api 3,我有一个json输出,可以正确地显示我的信息,但是我花了很长时间才让它在我数据库中的每对lat+lng上显示一个图标 这是我目前的代码 <?php require('inc/db.inc.php'); mysql_connect($connect, $user, $pword) or die(mysql_error()); mysql_select_db($db) or die(mysql_error()); $sql=mysql_query("SELECT store_lat,sto

我有一个json输出,可以正确地显示我的信息,但是我花了很长时间才让它在我数据库中的每对lat+lng上显示一个图标

这是我目前的代码

<?php

require('inc/db.inc.php');
mysql_connect($connect, $user, $pword) or die(mysql_error());
mysql_select_db($db) or die(mysql_error());

$sql=mysql_query("SELECT store_lat,store_long FROM location WHERE status='Active'");
while($row=mysql_fetch_assoc($sql))
$output[]=$row;
$locations=(json_encode($output));

?>
<script src="http://maps.google.com/maps/api/js?sensor=false&amp;key=MY_API_KEY" type="text/javascript"></script>
<script type="text/javascript"> 
function initialize() {

    var image = 'images/icon.png';
    var myLatlng = new google.maps.LatLng(42.548625, -92.548765);

    var myOptions = {
        zoom: 4,
        center: myLatlng,
        mapTypeId: google.maps.MapTypeId.ROADMAP
        }

    var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

    var poiJson = <? echo $locations ?>;
    for (var i = 0;i < poiJson.length; i += 1) {
        var lat = poiJson[i].store_lat;
        var lng = poiJson[i].store_long;
        addMarker(lat,lng,i);
        };
}

function addMarker(lat,lng,no){
    var latlng = new google.maps.LatLng(lat,lng);
    var marker = new google.maps.Marker({
        position: latlng,
        map: map
        // if i uncomment the icon line no map will show at all
        //icon: image
        });
}
</script> 

<? include "header.php"; ?>
<p>
<table width="1024">
<tr>
  <td align="center" valign="top"><div id="map_canvas" style="width: 95%; height: 600px;"></div></td>
</tr>
</table>
</p>
</body> 
</html>

addMarker
的范围内没有定义
图像
(因此您将得到一个错误)。它仅在本地进行
初始化
。要么在
addMarker
中定义它,要么将其设置为全局。

我已经将
var图像
移动到
函数addMarker
中进行了编辑,但没有任何更改。@PsychoDogg:您是否也取消了对图标行的注释?路径正确吗?是的,所有这些都很好,我认为这与未添加lat和lng有关。有趣。我昨晚刚刚写了一个剧本,正是你想做的。确认JSON输出是您想要的。还可以尝试记录对
addMarker
的调用,以确保所有数据都被正确解析。我能够在使用相同json输出的android应用程序上实现这一点,因此我认为json输出不是问题所在。我以前在JS方面做得不多。我怎样才能得到一些错误,从而知道我的代码是怎么回事?如果我查看源代码,这就是json如何显示
var poiJson=[{“store_lat”:“42968605”,“store_long”:“-81282452”},{“store_lat”:“42954525”,“store_long”:“-81289456”};对于(var i=0;i
我的json输出中有大约4000项。json看起来不错。在创建新的
LatLng
实例时,您是否尝试记录参数?
<script type="text/javascript"> 
function initialize() {


    var myLatlng = new google.maps.LatLng(42.548625, -92.548765);

    var myOptions = {
        zoom: 4,
        center: myLatlng,
        mapTypeId: google.maps.MapTypeId.ROADMAP
        }

    var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

    var poiJson = <? echo $locations ?>;
    for (var i = 0;i < poiJson.length; i += 1) {
        var lat = poiJson[i].store_lat;
        var lng = poiJson[i].store_long;
        addMarker(lat,lng,i);
        };
}

function addMarker(lat,lng,no){
    var image = 'images/icon.png';
    var latlng = new google.maps.LatLng(lat,lng);
    var marker = new google.maps.Marker({
        position: latlng,
        map: map
        //icon: image
        });
}
</script>