| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- <?php
- //腾讯地图的。
- class mapqqChajian extends Chajian{
-
- private $mapqq_key = '';
-
- protected function initChajian()
- {
- $this->getkey();
- }
-
- public function getkey()
- {
- $key = getconfig('qqmapkey');
- if(!$key){
- $key = $this->rock->jm->base64decode('T0I0QlotRDRXM1UtQjdWVk8tNFBKV1ctNlRLREotV1BCNzc:');
- }else{
- $this->mapqq_key = $key;
- }
- //$this->mapqq_key = $key;
- return $key;
- }
-
- private function mapqqerr($msg=''){
- if(!$msg)$msg = '无法访问腾讯地图接口';
- return '{"status":201,"message":"'.$msg.'"}';;
- }
-
- //获取位置
- public function gcoder($lat, $lng)
- {
- if(!$this->mapqq_key){
- $barr = c('xinhuapi')->getdata('mapqq','gcoder', array(
- 'lat' => $lat,
- 'lng' => $lng,
- ));
- if(!$barr['success'])return $this->mapqqerr($barr['msg']);
- return $barr['data'];
- }else{
- $url = 'https://apis.map.qq.com/ws/geocoder/v1?key='.$this->mapqq_key.'';
- $url.= '&get_poi=0';//不返回周边位置
- $url.= '&location='.$lat.','.$lng.'';
- $url.= '&poi_options=radius=200';
- $result = c('curl')->getcurl($url);
- if(!$result)$result = $this->mapqqerr();
- return $result;
- }
- }
-
- //转坐标
- public function translate($lat, $lng, $type)
- {
- if(!$this->mapqq_key){
- $barr = c('xinhuapi')->getdata('mapqq','translate', array(
- 'lat' => $lat,
- 'lng' => $lng,
- 'type'=> $type
- ));
- if(!$barr['success'])return $this->mapqqerr($barr['msg']);
- return $barr['data'];
- }else{
- $url = 'https://apis.map.qq.com/ws/coord/v1/translate?key='.$this->mapqq_key.'';
- $url.= '&locations='.$lat.','.$lng.'';
- $url.= '&type='.$type.'';
- $result = c('curl')->getcurl($url);
- if(!$result)$result = $this->mapqqerr();
- return $result;
- }
- }
-
- //搜索$key 是base64
- public function suggestion($keyword)
- {
- if(!$this->mapqq_key){
- $barr = c('xinhuapi')->getdata('mapqq','suggestion', array(
- 'keyword' => $keyword,
- ));
- if(!$barr['success'])return $this->mapqqerr($barr['msg']);
- return $barr['data'];
- }else{
- $keyword = $this->rock->jm->base64decode($keyword);
- $keyarr = explode(' ', $keyword);
- $url = 'https://apis.map.qq.com/ws/place/v1/suggestion?key='.$this->mapqq_key.'';
- $url .= '&keyword='.$keyarr[0].'';
- if(isset($keyarr[1]))$url.= '®ion='.$keyarr[1].'';
- $result = c('curl')->getcurl($url);
- if(!$result)$result = $this->mapqqerr();
- return $result;
- }
- }
- }
|