2016-08-04 24 views
0

最近ウェブサイトを開設しましたが、場所が見つかった後にGoogleマップに現在地マーカーを表示できませんでした。Googleマップに現在地マーカーを追加する方法

あなたは、私がListify自動見つけ関数に基づいてfunction.phpにカスタムリスナを追加したが、マップにマーカーを追加するために管理していませんでしたhttps://www.storra.com/listings/

上で見ることができます。誰かが私を導くことができれば

function listify_custom_autolocation() { 
 
\t if (! (is_front_page() || listify_is_job_manager_archive())) { 
 
\t \t return; 
 
\t } 
 
?> 
 
\t <script> 
 
\t \t var triggered = false; 
 
\t \t jQuery(document).on('facetwp-loaded', function() { 
 
\t \t \t if (! triggered) { 
 
\t \t \t \t var locate = jQuery('.locate-me'); 
 
\t \t \t \t locate.trigger('click'); 
 
       var marker = new google.maps.Marker({ 
 
       map: map, 
 
       position: new google.maps.LatLng(
 
        parseFloat(coords[0]), 
 
        parseFloat(coords[1]) 
 
       ), 
 
       info: new google.maps.InfoWindow({ 
 
        content: val.title + val.distance 
 
       }) 
 
      }); 
 
\t \t \t } 
 
\t \t \t triggered = true; 
 
\t \t }); 
 
\t </script> 
 
<?php 
 
} 
 
add_action('wp_footer', 'listify_custom_autolocation', 9999);

は非常にお願い申し上げ、以下のようなコードです。 ありがとうございました!

+1

機能していません正確にどのような。 「jQueryが定義されていない」以外のエラーメッセージはありますか?関連コードとして表示されません。マップインスタンスは外部から到達可能ですか? 'coords [0]'の出力は何ですか? –

+0

@elsololo関連するコードがそこに貼り付けられました。助けてくれてありがとう。 –

答えて

3

あなたが探し機能のために、この1を使用することができます。

if (navigator.geolocation) { 
    navigator.geolocation.getCurrentPosition(function(position) { 
     var pos = { 
      lat: position.coords.latitude, 
      lng: position.coords.longitude 
     }; 
     var marker = new google.maps.Marker({ 
      position: pos, 
      map: map, 
      title: 'Your position' 
     }); 
     map.setCenter(pos); 
    }, function() { 
     //handle location error (i.e. if user disallowed location access manually) 
    }); 
} else { 
    // Browser doesn't support Geolocation 
} 
0

次は、バックエンドに関連するコードです。 @mxlseで与えられたコードを追加しようとしましたが、うまく動作していないようです。

AutoLocateView.prototype.find = function() { 
 
     var cv, error, filters, success; 
 
     cv = this.collectionView; 
 
     filters = this.filters; 
 
     if (!navigator.geolocation) { 
 
      return; 
 
     } 
 
     success = function(position) { 
 
      var lat, lng; 
 
      lat = position.coords.latitude; 
 
      lng = position.coords.longitude; 
 
      cv.set({ 
 
      'lat': lat, 
 
      'lng': lng 
 
      }); 
 
      return $('.locate-me').removeClass('loading'); 
 
     }; 
 
     error = function() { 
 
      $('.locate-me').removeClass('loading'); 
 
      return filters.startup(); 
 
     }; 
 
     navigator.geolocation.getCurrentPosition(success, error); 
 
     return this; 
 
     };

関連する問題