먼저 정적 페이지에 WeChat 구성 파일을 추가하고 js를 통해 가져옵니다.
<script type="text/javascript"> wx.config({ debug: false, appId: '{$signPackage.appId}', timestamp: '{$signPackage.timestamp}', nonceStr: '{$signPackage.nonceStr}', signature: '{$signPackage.signature}', jsApiList: [ // 所有要调用的 API 都要加到这个列表中 'checkJsApi', 'openLocation', 'getLocation', 'scanQRCode' ] }); wx.ready(function () { $('#scan').click(function(){ wx.scanQRCode({ needResult: 0, }); }); wx.checkJsApi({ jsApiList: [ 'getLocation' ], success: function (res) { if (res.checkResult.getLocation == false) { alert('你的微信版本太低,不支持微信JS接口,请升级到最新的微信版本!'); return; } } }); wx.getLocation({ success: function (res) { var latitude = res.latitude; // 纬度,浮点数,范围为90 ~ -90 var longitude = res.longitude; // 经度,浮点数,范围为180 ~ -180。 var geoconv = 'http://api.map.baidu.com/geoconv/v1/?callback=coordinateTransformation&coords=' + longitude + ',' + latitude + '&from=1&to=5&ak=5BFNbSgnVF5g2O72NpvTDxFm'; var script = document.createElement('script'); script.src = geoconv; document.head.appendChild(script); }, cancel: function (res) { alert('用户拒绝授权获取地理位置'); } }); }); function coordinateTransformation(data) { var LATLNG = data.result[0].y + ',' + data.result[0].x; var url = 'http://api.map.baidu.com/geocoder/v2/?callback=getCurrentLocation&ak=5BFNbSgnVF5g2O72NpvTDxFm&location=' + LATLNG + '&output=json&pois=1'; var script = document.createElement('script'); script.src = url; document.head.appendChild(script); } function getCurrentLocation(data) { if(data.status === 0) { var address = data.result.formatted_address, x = data.result.location.lng, y = data.result.location.lat, city = data.result.addressComponent.city, street = data.result.addressComponent.street || data.result.formatted_address, reqData = 'street=' + address + '&name=' + street + '&lng=' + x + '&lat=' + y + '&city=' + city; var url = "{:U('Index/savePosition')}"; $.getJSON(url,{'name':street,'lng':x,'lat': y,'city':city},function(data) { if(data.returnCode) { } }); } } </script> 其次,在控制器中接收ajax传递的地理坐标,然后保存到session中。 public function savePosition() { $city = II('get.city','','trim'); $addr = II('get.name','','trim'); $lng = II('get.lng','','trim'); $lat = II('get.lat','','trim'); $myLocation = array( 'city' =>$city, 'addr' =>$addr, 'lng' =>$lng, 'lat' =>$lat, ); $_SESSION['MyLocation'] = $myLocation; $data['returnCode'] = 1; $data['returnInfo'] = '获取位置成功!'; $this->ajaxReturn($data); return; }
참고: thinkphp 프레임워크가 사용됩니다. II는 I 함수와 마찬가지로 get 또는 post로 전달된 값을 얻는 사용자 정의 방법입니다.
위 내용은 WeChat을 통해 현재 지리적 위치를 가져와 세션에 저장하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!
성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사
R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌
어 ass 신 크리드 그림자 : 조개 수수께끼 솔루션
2 몇 주 전ByDDD
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 채팅 명령 및 사용 방법
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

WebStorm Mac 버전
유용한 JavaScript 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)
