【问题标题】:can not set gelocation permission in jxbrowser- java无法在 jxbrowser-java 中设置地理定位权限
【发布时间】:2018-07-20 12:11:22
【问题描述】:

我有一个 java 应用程序,它 使用 jxbrowser 显示用户位置。 (我们在浏览器控制台中打印位置并在 java 中使用控制台侦听器获取它)

在我的 getLocation.java 中:

public static void main(String[] args) {
       final Browser browser = new Browser();
       BrowserView browserView = new BrowserView(browser);

       JFrame frame = new JFrame("as");
       frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
       frame.add(browserView, BorderLayout.CENTER);
       frame.setSize(900, 500);
       frame.setLocationRelativeTo(null);
       frame.setVisible(true);
       browser.setPermissionHandler(new PermissionHandler() {
        @Override
        public PermissionStatus onRequestPermission(PermissionRequest request) {
            if (request.getPermissionType() == PermissionType.GEOLOCATION) {
                return PermissionStatus.GRANTED;
            }
            return PermissionStatus.DENIED;
        }
        });
       browser.addConsoleListener(new ConsoleListener() {
        @Override
        public void onMessage(ConsoleEvent message) {
            System.out.println(message.getMessage());

        }
       });
       browser.loadURL("C://Users/aa/Desktop/Advance Java Projects/Snap/src/views/map/getlocation.html");
   }

在我的getlocation.html中:

<!DOCTYPE html>
<html>
<head>
   <meta name="viewport" content="initial-scale=1.0, user-scalable=no"/>
   <style type="text/css">
       html { height: 100% }
       body { height: 100%; margin: 0; padding: 0 }
   </style>
</head>
<body>
   <script>
      getLocation()
        function getLocation() {
            if (navigator.geolocation) {
                navigator.geolocation.getCurrentPosition(showPosition);
            } else {
                console.log("poof browser!");
            }
        }
        function showPosition(position) {
          console.log(position.coords.latitude);
          console.log(position.coords.longitude);
        }
</script> 
</body>
</html>

但是当我运行 我的应用程序时我没有响应!!!!

【问题讨论】:

    标签: java swing google-maps geolocation jxbrowser


    【解决方案1】:

    由于 Chromium 50 及更高版本中的 security 限制,地理定位不适用于 file:/// URI。您必须将与 Geolocation API 配合使用的网页放在 Web 服务器上,并通过 HTTPS 协议访问该网页。否则将无法正常工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-27
      • 2017-07-31
      • 1970-01-01
      相关资源
      最近更新 更多