123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485 |
- <?php
- use yii\helpers\Url;
- use yii\helpers\Html;
- ?>
- <?= Html::cssFile('@web/css/weui.min.css') ?>
- <?= Html::cssFile('@web/css/jquery-weui.min.css') ?>
- <?= Html::cssFile('@web/css/base.css?20171122') ?>
- <?= Html::cssFile('@web/iconfont/iconfont.css') ?>
- <?= Html::cssFile('@web/css/swiper-3.4.2.min.css') ?>
- <link rel="stylesheet" href="http://cache.amap.com/lbs/static/main1119.css"/>
- <script type="text/javascript" src="http://webapi.amap.com/maps?v=1.3&key=210550b67bddb270e575a1838060f8ec&plugin=AMap.Autocomplete,AMap.PlaceSearch,AMap.Geocoder"></script>
- <body>
- <div id="container" tabindex="0"></div>
- <?php if(!empty($datas)):?>
- <a href="<?=Url::toRoute(['notice/index']);?>" class="notice" style="top:3rem;">
- <i style="float: left;" class="iconfont icon-xiaoxi"></i>
- <p>
- <?php $title = empty($datas->information)?'':$datas->information?>
- <?=empty($title->title)?'':$title->title?>
- </p>
- <i class="iconfont icon-gengduo right"></i>
- </a>
- <?php endif;?>
- <a href="javascript:void(0);" class="notice" style="text-align:center;height:1.844rem;line-height:1.844rem;font-size:0.8rem;">
- <p>
- 点击下面图标看样板房和工地
- </p>
- </a>
- <!--定位按钮-->
- <div class="location-icon">
- <a href="javascript:;" id="location">
- <i class="iconfont icon-dingwei"></i>
- </a>
- </div>
- <!--定位按钮end-->
- <!--搜索按钮-->
- <div class="search-icon">
- <a href="<?=Url::toRoute(['search/index']);?>" class="open-popup" data-target="#full">
- <i class="iconfont icon-sousuo"></i>
- </a>
- </div>
- <!--搜索按钮-->
- <!--位置按钮-->
- <div class="dw-icon">
- <a href="<?=Url::toRoute(['position/index']);?>">
- <i class="iconfont icon-weizhi"></i>
- </a>
- </div>
- <!--位置按钮-->
- <!--换一换按钮-->
- <div class="refresh-btn" >
- <a href="javascript:void(0);" id="reload" >
- <i class="iconfont icon-iconfont08"></i>
- 换一换
- </a>
- </div>
- <!--换一换按钮-->
- <!--个人中心按钮-->
- <div class="user-icon">
- <a href="<?=Url::toRoute(['user/index']);?>">
- <i class="iconfont icon-wode"></i>
- </a>
- </div>
- <!--个人中心按钮-->
- <!--红包按钮-->
- <div class="hb-icon">
- <a href="<?=Url::toRoute(['redactivity/redlog']);?>">
- <i class="iconfont icon-hongbao"></i>
- </a>
- </div>
- <!--红包弹出层-->
- <div class="redbag">
- <div class="title">
- <a href="#" class="close"><i class="iconfont icon-guanbi"></i></a>
- <h2> <span>元</span></h2>
- <p>预约后可领取该红包</p>
- </div>
- <div class="rb-info">
- <i class="iconfont icon-fangzi"></i>
- <h2><a href="#"></a></h2>
- <p class="add"></p>
- <a href="javascript:;" class="yy-btn">立即预约</a>
- <p><a href="<?=Url::toRoute(['redactivity/redlog']);?>" class="notes">我的红包记录</a></p>
- </div>
- <input type="hidden" id="building_id" />
- </div>
- <div class="p_bg"></div>
- <?= Html::jsFile('@web/js/jquery.min.js'); ?>
- <?= Html::jsFile('@web/js/jquery-weui.min.js'); ?>
- <script src="//webapi.amap.com/ui/1.0/main.js?v=1.0.11"></script>
- <script type="text/javascript">
- var tel = '<?=empty($usertel)?'':$usertel?>';
- //基本地图加载
- var map ="";
- var lnglatXY = new Array();
- var page = 1;
- var p = 1;
- AMapUI.loadUI(['misc/PositionPicker'], function(PositionPicker) {
- <?php if(!empty($city)){ ?>
- map = new AMap.Map("container", {
- resizeEnable: true,
- //center: [res.longitude,res.latitude],//地图中心点
- zoom: 13 //地图显示的缩放级别
- });
- var MSearch;
- function placeSearch() { //POI搜索,关键字查询
- var key_1 = "<?= $city ?>";
- map.plugin(["AMap.PlaceSearch"], function() { //构造地点查询类
- MSearch = new AMap.PlaceSearch({
- pageSize:10,
- pageIndex:1,
- city:"021" //城市
- });
- AMap.event.addListener(MSearch, "complete", function(data){
- var poiArr = data.poiList.pois;
- var lngX = poiArr[0].location.getLng();
- var latY = poiArr[0].location.getLat();
- map.setCenter(new AMap.LngLat(lngX, latY));
- // AMap.Marker({
- // map:map,
- // iconStyle: { //自定义外观
- // url: '../images/pointer.png',
- // ancher: [24, 40],
- // size: [28, 48]
- // }
- // });
- querybuilding(latY,lngX);
- });//返回地点查询结果
- MSearch.search(key_1); //关键字查询
- });
- }
- placeSearch();
- <?php }else{ ?>
- wx.config({
- debug: false,
- appId: '<?= $signPackage['appId']; ?>', // 必填,公众号的唯一标识
- timestamp:<?= $signPackage['timestamp']; ?>, // 必填,生成签名的
- nonceStr: '<?= $signPackage['nonceStr']; ?>', // 必填,生成签名的
- signature: '<?= $signPackage['signature'];?>',
- jsApiList: ['getLocation','checkJsApi']
- });
- wx.ready(function() {
- wx.getLocation({
- type: 'wgs84', // 默认为wgs84的gps坐标,如果要返回直接给openLocation用的火星坐标,可传入'gcj02'
- success: function (res) {
- var latitude = res.latitude; // 纬度,浮点数,范围为90 ~ -90
- var longitude = res.longitude; // 经度,浮点数,范围为180 ~ -180。
- var speed = res.speed; // 速度,以米/每秒计
- var accuracy = res.accuracy; // 位置精度
- lnglatXY = [res.longitude,res.latitude];
- map = new AMap.Map("container", {
- resizeEnable: true,
- center: [longitude,latitude],//地图中心点
- zoom: 13 //地图显示的缩放级别
- });
- position();
- }
- });
- });
- <?php } ?>
- function position(){
- // 拖拽选址标注
- var positionPicker = new PositionPicker({
- mode: 'dragMap',
- map: map,
- iconStyle: { //自定义外观
- url: '../images/pointer.png',
- ancher: [24, 40],
- size: [28, 48]
- }
- });
- // 开始拖拽
- positionPicker.start();
- // 拖拽结束后,如果获取成功,将触发success事件,否则将触发fail事件。
- positionPicker.on('success', function(positionResult) {
- page =1;
- if(markers.length>0) {
- map.remove(markers);
- }
- querybuilding(positionResult.position.lat,positionResult.position.lng);
- });
- positionPicker.on('fail', function(positionResult) {
- //$.alert('定位失败');
- });
- }
- function querybuilding(lat,lng)
- {
- $.ajax({
- url: '<?=Url::toRoute(['site/querybuilding'])?>',
- type: 'POST',
- dataType:"json",
- data: {latitude:lat,longitude:lng,'_csrf-backend':'<?=Yii::$app->request->csrfToken;?>'},
- success: function (resultdata) {
- if(resultdata.error==0){
- if(resultdata.count>0)
- {
- p = Math.ceil(resultdata.count/<?= \frontend\controllers\SiteController::$pagenum ?>);
- }
- defaultdata(resultdata.msg);
- }
- }
- });
- }
- var markers =[];
- function defaultdata(data)
- {
- var lnglats = [];
- markers =[];
- for(var i in data)
- {
- var type = data[i]['type'];
- if(type==1){
- type='gd';
- icon = gd_icon;
- }else if(type==2){
- type = 'ybf';
- icon = ybf_icon;
- }else if(type ==3)
- {
- type ='hb';
- icon = hb_icon;
- }
- lnglats[i] = {
- position:[data[i]['longitude'],data[i]['latitude']],
- id:type,
- name:'<?=Url::toRoute(['building/detail']);?>?id='+data[i]['id'],
- icon: icon,
- compound:data[i]['title'],
- address:data[i]['address'],
- building_id :data[i]['id'],
- building_type :data[i]['type'],
- building_opening_begin :data[i]['opening_begin'],
- building_opening_end :data[i]['opening_end']
- }
- }
- for(var i= 0;i<lnglats.length;i++){
- var marker=new AMap.Marker({
- position:lnglats[i].position, //采用默认样式,无需自定义
- map:map,
- icon:lnglats[i].icon
- });
- markers.push(marker);
- content = [];
- popup = [];
- info_c = [];
- info_a = [];
- building_id = [];
- building_type = [];
- building_opening_begin = [];
- building_opening_end = [];
- //info_s = [];
- content.push(lnglats[i].name);
- popup.push(lnglats[i].id);
- info_c.push(lnglats[i].compound);
- info_a.push(lnglats[i].address);
- building_id.push(lnglats[i].building_id);
- building_type.push(lnglats[i].building_type);
- building_opening_begin.push(lnglats[i].building_opening_begin);
- building_opening_end.push(lnglats[i].building_opening_end);
- //info_s.push(lnglats[i].sum);
- marker.content = content;
- marker.popup = popup;
- marker.info_c = info_c;
- marker.info_a = info_a;
- marker.building_id = building_id;
- marker.building_type = building_type;
- marker.building_opening_begin = building_opening_begin;
- marker.building_opening_end = building_opening_end;
- //marker.info_s = info_s;
- marker.on('click', markerClick);
- }
- }
- //解析定位错误信息
- function onError(data) {
- $.alert('定位失败');
- }
- //安装位置标记
- var gd_icon = new AMap.Icon({ //自定义图标
- size: new AMap.Size(50, 50), //图标大小
- image: "../images/gd-icon.png"
- });
- var ybf_icon = new AMap.Icon({
- size: new AMap.Size(50, 50),
- image: "../images/ybf-icon.png"
- });
- var hb_icon = new AMap.Icon({
- size: new AMap.Size(50, 50),
- image: "../images/hb-icon.png"
- });
- // 信息窗口
- var build_id = '';
- var build_type = '';
- var build_opening_begin = '';
- var build_opening_end = '';
- function markerClick(e){
- //标记点击事件
- var name =e.target.content; //跳转地址
- var compound =e.target.info_c; //小区名称
- var address =e.target.info_a; //小区地址
- var sum =0; //红包金额
- var building_id = e.target.building_id ;
- build_id = e.target.building_id;
- build_type = e.target.building_type;
- build_opening_begin = e.target.building_opening_begin;
- build_opening_end = e.target.building_opening_end;
- if(e.target.popup == "hb"){
- if(tel=='') {
- window.location.href = "<?=Url::toRoute(['user/usertel', 'id' => 'index']);?>";
- return false;
- }
- $.ajax({
- url: '<?=Url::toRoute(['site/getred'])?>',
- type: 'POST',
- dataType:"json",
- data: {building_id:building_id[0],'_csrf-backend':'<?=Yii::$app->request->csrfToken;?>'},
- success: function (data) {
- console.log(data);
- if(data.error==0)
- {
- $('.redbag,.p_bg').show();
- $('.redbag .title h2,.rb-info h2,.rb-info p.add').empty();
- $('.redbag .title h2').html(data.amount +' <span>元</span>');
- $('.rb-info h2').html('<a href="'+ name +'">' + compound +'</a>');
- $('.rb-info p.add').html(address);
- $('#buiding').val(building_id[0]);
- }else if(data.error==1)
- {
- location.href= name ;
- }
- }
- }
- );
- }
- else{
- location.href= name ;
- }
- };
- $('.redbag .close').click(function () {
- $('.redbag,.p_bg').hide();
- });
- var display =false;
- $('.redbag .yy-btn').click(function () {
- if(display==false) {
- var time = '';
- var shijianchuo = new Date(build_opening_begin*1000);
- var y = shijianchuo.getFullYear();
- var m = shijianchuo.getMonth()+1;
- var d = shijianchuo.getDate();
- var begin = y+"-"+m+"-"+d;
- var shijianchuo1 = new Date(build_opening_end*1000);
- var y1 = shijianchuo1.getFullYear();
- var m1 = shijianchuo1.getMonth()+1;
- var d1 = shijianchuo1.getDate();
- var end = y1+"-"+m1+"-"+d1;
- $('body').append('<div class="date"><input class="weui-input" id="time-inline" type="text" value="" readonly><div class="title">选择时间<span>(可预约时间:'+begin+'到'+end+')</span></div><div id="time-container"></div><div class="date-btn"><a href="#" class="close-date">取消</a><a id="subscribe"href="javascript:;" >马上预约</a></div></div>');
- $("#time-inline").datetimePicker({
- container: '#time-container',
- onChange: function (picker, values, displayValues) {
- var a = values;
- var a1 = a.slice(0, 3);
- var a2 = a.slice(3, 5);
- var date = a1.join("/")+' '+a2.join(":");
- time = (new Date(date)).getTime()/1000;
- }
- });
- $('.date #subscribe').click(function(){
- var pid = build_id[0];
- if(tel==''){
- window.location.href = "<?=Url::toRoute(['user/usertel','id'=>'index']);?>";
- }else{
- var nowTime = <?=time()?>;
- var type = build_type[0];
- var begin = '';
- if(build_opening_begin==''){
- var begin = nowTime;
- }else{
- var begin = build_opening_begin
- }
- var end = build_opening_end;
- if(time<nowTime-60){
- alert('请选择当前时间后面的时间');
- $('.date,.p_bg').remove();
- return false;
- }
- if(time<begin||time>end){
- alert('请选择可预约时间内');
- $('.date,.p_bg').remove();
- return false;
- }
- var lock = true;
- if(lock){
- $.ajax({
- url: '<?=Url::toRoute(['building/appointment'])?>',
- type: 'POST',
- dataType:"json",
- data: {pid:pid,type:type,time:time, '_csrf-frontend': '<?=Yii::$app->request->getCsrfToken();?>'},
- success: function (data) {
- if(data.sign==0){
- alert(data.msg);
- }else if(data.sign==1){
- alert('预约成功');
- location.href='<?=Url::toRoute(['user/appointment'])?>';
- //$('.date,.p_bg').remove();
- }
- }
- });
- }
- }
- });
- $('.date .close-date').click(function () {
- $('.date').hide();
- });
- display =true;
- }else{
- $('.date').show();
- }
- });
- $("#reload").on('click',function () {
- page ++;
- if(page>p)
- {
- if(page==2)
- {
- return false;
- }
- page = 1;
- }
- $.ajax({
- url: '<?=Url::toRoute(['site/querybuilding'])?>',
- type: 'POST',
- dataType:"json",
- data: {latitude:lnglatXY[1],longitude:lnglatXY[0],page:page,'_csrf-backend':'<?=Yii::$app->request->csrfToken;?>'},
- success: function (resultdata) {
- if(resultdata.error==0){
- map.remove(markers);
- defaultdata(resultdata.msg);
- }else if(resultdata.error==1){
- $.alert('定位失败');
- }
- }
- });
- });
- // 定位按钮
- function locationNew() {
- var location = document.getElementById('location');
- AMap.event.addDomListener(location, 'click', function() {
- map.panTo(lnglatXY);
- });
- }
- locationNew();
- });
- // map.setFitView();
- </script>
- <script type="text/javascript" src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
- </body>
- </html>
|