如何用PHP中的curl获取百度地图上的搜索结果数据?百度地图上的数据:http://map.baidu.com/?newmap=1&ie=utf-8&s=s%26wd%3D%E5%81%9C%E8%BD%A6%E5%9C%BA
在firebug中能看到
<script type="text/javascript" src="http://gss3.map.baidu.com/?newmap=1&qt=bkg_data&c=289&ie=utf-8&wd=%E5%81%9C%E8%BD%A6%E5%9C%BA&l=12&xy=824_222&callback=getMData&b=(13489366.26,3642684.36;13558870.26,3657660.36)&t=1314690653602">
getMData(
{"uid_num":50, "error_no":0, "tileid":"12_824_222","uids":[
{"x":13501121.630000,"y":3646859.450000,"uid":"0342871e5551fea63786f431","name":"上海普嘉物流园区停车场"},
{"x":13502001.000000,"y":3646795.250000,"uid":"422975a26ef8036b32f71d84","name":"封浜停车场"},
{"x":13503169.820000,"y":3638573.020000,"uid":"7a4201ff384596412fb9089c","name":"大润发汽车停车场"},
{"x":13504836.330000,"y":3648906.110000,"uid":"4d09a7e501afe8b63a221cc0","name":"老街停车场"},
{"x":13505688.270000,"y":3648734.250000,"uid":"f2e885ae6ef8036b33f71dc0","name":"停车场"},
{"x":13506426.570000,"y":3642602.990000,"uid":"960ff20896275777c06c14da","name":"停车场"},
{"x":13506650.250000,"y":3650035.310000,"uid":"a1f401248cf08f16d5851fc0","name":"停车场"},
{"x":13507197.140000,"y":3637675.500000,"uid":"a16178168d65c36b82a00c3c","name":"停车场"}, 
{"x":13516686.960000,"y":3646393.840000,"uid":"ea8d0e312e18d696f9f0cb7a","name":"乐购停车场"},
{"x":13516715.990000,"y":3647492.220000,"uid":"72f784a18d112471cb1b95d8","name":"滨江雅苑停车场"},
{"x":13516788.570000,"y":3642893.550000,"uid":"a6a1487d9f05a5aabfa822f0","name":"鸿运大厦停车场"}]}
) 我要用程序来获取到数据源。

解决方案 »

  1.   

    我原先的做法:
    $curl = curl_init();
    // 2. 设置选项,包括URL
    curl_setopt($curl, CURLOPT_URL, "http://map.baidu.com/?newmap=1&ie=utf-8&s=s%26wd%3D%E5%81%9C%E8%BD%A6%E5%9C%BA");
    curl_setopt($curl, CURLOPT_HEADER, 0);curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);// 3. 执行并获取HTML文档内容
    $output = curl_exec($curl);
    // 4. 释放curl句柄
    curl_close($curl);
    echo $output;运行的结果:页面上地图没有加载进来,打开IE中的查看源代码,那些数据源<script>标签内的东西也没有获取到
      

  2.   

    真心研究了好久,还是没成功,而且百度提供的API也不行,不过google的地图API倒是可以实现只获取数据(xml、json都支持)。
      

  3.   

    google的有API,可以直接发送http获得相应数据,不像百度的直接调用它们的js,google的话可以获得相应数据。http://code.google.com/intl/zh-CN/apis/maps/documentation/mapsdata/developers_guide_protocol.html
    还有一个google的curl调用http://code.google.com/intl/zh-CN/apis/gdata/articles/using_cURL.html