Tag: geolocation

寻找网站访问者地理位置的解决方案

我知道有许多服务提供地理定位工具来解决用户访问的位置。 我正在开发的网站是一个在多个地区运营的电子商务网站。 当访问者访问网站时,它应该计算出来自哪里,并为用户显示相关的货币/语言。 在过去我们使用过maxmind,但我想知道是否有更好的解决方案。 我呼吁具有该领域经验的开发人员分享他们的知识和专业知识,了解可用的内容以及各种解决方案的专业人员和内容。 附加信息:有问题的网站主要运行Java(Spring)和PHP(Kohana)的组合,因此也可以考虑其中任何一个的库。 我们已经有一个解决方案,可以计算出使用哪种货币,前提是我们可以获得访客所在国家/地区的ISO代码。 更新 我想我会对访问这个问题的人留下粗略的解释。 地理定位:我已经使用freegoip来检测用户位置,如本主题所示。 语言:在确定用户使用的语言时,我使用PHP检查用户浏览器中设置的语言: http : //www.php.net/manual/en/function.http-negotiate-language.php

Android位置未从自定义类返回位置

我有自己的位置课程。 我有一个赔率结果,当我使用我的class级搜索GPS位置时,我得到0,0回。 然而,如果我在位置管理器中搜索GPS的getLastKnown函数,我会得到强制值: public Location getGPSloc(Context c){ isGPSavailable(c); if(gps_enabled) lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 5000, 0, locationListenerGps); timerGPS = new Timer(); timerGPS.schedule(new GetLastLocationGPS(), 45000); return gpsLoc; } 这是我从函数外部调用的类,我在调用中使用this.getApplicationContext()。 这是GetLastLocationGPS(): class GetLastLocationGPS extends TimerTask { @Override public void run() { lm.removeUpdates(locationListenerGps); if(gps_enabled){ gpsLoc = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);} else{ gpsLoc = null; } } } 这是听众: LocationListener locationListenerGps = new LocationListener() { @Override […]

我试图从JAVA中的IP地址获取位置信息,但我得到一个java.net.SocketException:连接重置错误

import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javaQuery.importClass.javaQueryBundle; import javaQuery.j2ee.GeoLocation; /** * Servlet implementation class IP */ public class IP extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public IP() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest […]

Android:如何获得两个地理协调之间的步行距离?

我使用了这个查询url http://maps.google.com/maps?q=from+A+to+B&output=kml ,这是在这个问题的答案中给出的。 但在我尝试之后,它不适用于坐标。 它适用于地址名称。 我想我可以使用谷歌的地理编码来获取地址。 但我想知道是否还有另一种方法来获得两个坐标之间的步行距离?

如何将Exif long / lat转换为实际值?

我试图从我的一些照片中获取Exif数据,这些是我收到的纬度和经度值。 有人可以帮帮我,告诉我这些数字是什么意思吗? DEBUG / lat = 30 / 1,12 / 1,34 / 1(7588):lattitude DEBUG / long = 81 / 1,22 / 1,41 / 1(7588):经度 提前致谢。

在对话框中启用GPS后,Android位置返回null

当我进入屏幕时,我检查GPS是否打开,如果没有,则显示启用GPS的对话框。 当用户单击是时,onActivityResult – > GPS已打开,我尝试获取该位置,但这始终返回null 当我进入已经打开GPS的屏幕时,可以正确检索位置。 我几天来一直苦苦挣扎,似乎找不到任何资源。 UserLocationUtilities.java public class UserLocationUtilities implements GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener, LocationListener{ GoogleApiClient googleApiClient; Activity activity; protected static final int REQUEST_CHECK_SETTINGS = 0x1; boolean isGPSEnabled = false; // flag for network status boolean isNetworkEnabled = false; // flag for GPS status boolean canGetLocation = false; protected LocationManager locationManager; protected LocationListener locationListener; protected […]

将像素位置转换为纬度/经度,反之亦然

我需要将纬度经度值转换为像素位置,并执行相反的操作。 我发现很多解决方案来自lat / lng-> pixel,但反过来找不到任何东西。 几个笔记: 地图是固定大小,没有缩放,没有拼贴。 我不需要任何超级准确的东西,它并不重要。 优选墨卡托投影,但不是必需的。 我实际上并没有显示结果。 (任何2D投影) 我不能依赖任何基于网络的API,即:没有谷歌地图 几乎任何编程语言的解决方案都可以,只要它不依赖于任何特定于平台的API。 这是从lat / lng->像素转到的示例: var y = Math.round(((-1 * lat) + 90) * (this.MAP_HEIGHT / 180)); var x = Math.round((lng + 180) * (this.MAP_WIDTH / 360));

Java中的地理位置IP

有没有办法从IP地址获取国家,城市(通常是:地理定位信息)。 请注意,我的应用程序是java。 我访问并尝试了许多Web服务,但我找不到合适的服务,我更喜欢自己编写。 此外,我发现了一些CSV数据库,但这个解决方案根本不可取。 请帮忙。

在圆圈中查找坐标

我正在使用Grails下的Google Maps进行混搭,用户可以通过选择地图上的点和半径来创建地理围栏 。 这将存储在我的数据库中,应用程序不断从GPS设备接收一组坐标。 我想将收到的坐标与存储在圆圈中的区域进行比较。 如果该点位于圆圈内部(或外部),程序将触发一个动作。 但是,我想知道如何确定坐标是否位于圆圈内部/外部。 有一个Javascript库允许这样做,但我需要在服务器上执行此操作。 是否有Java(甚至是Groovy)库? 你会如何实现它?

Servlet:响应提交后无法转发

我正在处理基于geo-location呈现内容的servlet页面,我想同时使用sendRedirect和forward ; 例如; 你从France浏览example.com/aPage.jsp ; 首先,我希望servlet将您重定向到example.com/fr/aPage.jsp ,然后转发到resources页面。 这就是我在servlet中的内容: public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { …. response.sendRedirect(REDIRECT_URL_BASED_ON_GEO); // after redirect forward the resources page RequestDispatcher view = request.getRequestDispatcher(RESOURCES_PAGE); view.forward(request, response); … } 但我得到: java.lang.IllegalStateException: Cannot forward after response has been committed 我知道错误出现是因为我不能同时使用sendRedirect和forward ,但我不知道如何实现我想要的(如上所述)没有这个。 任何帮助?