在 CakePHP 3 中获取 GPS 移动位置数据

Getting GPS mobile location data in CakePHP 3

我正在处理农村农民登记申请,想获取农场的位置。请提供有关如何实现此目标的任何想法。

基本上,我需要用户按下一个按钮来获取他们的 GPS 坐标并将其保存在 MySQL。

我已经检查了 GitHub 上的 Dereuromark/CakePHP-geo 插件,但它似乎甚至没有尝试实现这一点。

感谢 Bogdan RomulusRuben Alzate Quintero 在 Google+ CakePHP 社区。我开始关注 halfer.

建议的使用内置 HTML 5 地理定位功能的建议

这是我的解决方案: 1.创建延迟块级别javascript

     echo $this->Html->script('gps', [
       'block' => true,
       'defer' => true
     ]);

2。将 "id" 设置为我想要的表单字段

     echo $this->Form->input('gps', [
        'label' => 'GPS Coordinates',
        'id' => 'gps',
        'required' => false
    ]);

3。在步骤 1 中链接的 gps.js 脚本中

     var g = document.getElementById("gps");

     window.onload = function() {
         if (navigator.geolocation) {
             navigator.geolocation.getCurrentPosition(setPosition);
         } else {
             //x.innerHTML = "Geolocation is not supported by this browser.";
         }
      }

      function setPosition(position) {
         g.value = position.coords.latitude + ', ' + position.coords.longitude;

      }

这不是一个完美的答案,但它是一个开始:)。我一路使用的一些有用的链接:

  1. http://book.cakephp.org/3.0/en/views/helpers/html.html#linking-to-javascript-files
  2. http://www.w3schools.com/HTML/html5_geolocation.asp