如何将参数传递给URL并使用PHP检索?

时间:2015-08-11 02:36:06

标签: javascript php google-maps google-maps-api-3 instagram-api

我注意到有很多这些问题,但我找不到与我的特定项目有关的东西。我正在构建一个Instagram和谷歌地图应用程序。我试图做的是用PHP从Instagram中提取所有JSON格式的端点。使用Google地图,我添加了此特定API调用所经过的经度和纬度坐标,以便您可以看到用户在创建照片时拍摄照片的位置。我正在使用的是Google's event methods我可以使用函数parent.location.hash将经度和纬度坐标对齐到URL。

 google.maps.event.addListener(map, 'center_changed', function(){
        var control_center = map.getCenter();
        var lng = control_center.lng();
        var lat = control_center.lat();
        parent.location.hash="&lng="+lng +"&lat="+lat;
        $('.lng').append(lng);
        console.log(map.getCenter());
        console.log(lng +', ' +lat);
      }); 

我现在遇到的问题是,当我尝试使用PHP $_GET检索lng和lat时,它无效。我发现它是因为它是一个片段,它永远不会被发送到服务器。我找到了其他提示和技巧,例如parse_url,但是回显了一个字符串。以下是有人完成搜索并在视口中移动Google地图时当前网址的摘要 - > api.php?location=houston#&lng=-95.34908043923292&lat=29.74942788453117

这个API mashup背后的概念是你有一个搜索框,你输入德克萨斯州休斯顿。 Google地图将加载来自Instagram的Feed,其显示的坐标位于Houston,Tx内。地图将显示这些照片的确切位置。你移动地图我们想要显示更多的Instagram照片,但是我无法将lng和lat变量传递给instagrams api。抱歉,这有点长。

Pastebin

1 个答案:

答案 0 :(得分:0)

你可以尝试一下,让我知道,

$url=parse_url("http://domain.com/api.php?location=houston#&lng=-95.34908043923292&lat=29.74942788453117");

$myurl = $url["fragment"];
 echo $myurl;

更新,以获取个别变量

 $url=parse_url("http://domain.com/api.php?location=houston#&lng=-95.34908043923292&lat=29.74942788453117");

$myurl = $url["fragment"];

echo $myurl.'<br>';

parse_str($myurl);

echo $lng.'<br>';
echo $lat;