Facebook 如何进行地理编码?

发布于 2024-11-01 07:52:07 字数 1391 浏览 1 评论 0原文

我正在 Android 上开发一个在 facebook 上创建事件的应用程序。我面临一个奇怪的问题,我需要一些帮助。

Facebook 的 API http://developers.facebook.com/docs/reference/api/event / 根本没有帮助,因为它没有阐明需要什么以及每组值的依赖性是什么。

首先,我通过设置以下字段的值来创建一个事件:所有者 ID、名称、开始时间、结束时间、位置、城市、州、国家/地区、纬度、经度和隐私。 我是这样做的:

data.put("owner", myId);

data.put("name", eventName + "1");
data.put("description", eventDescription);
data.put("start_time", eventStartTime);
data.put("end_time", eventEndTime);
data.put("location", eventLocation);

//data.put("venue", eventLocation);
//data.put("street", "Street here");
data.put("city", "City here"); 
data.put("state", "State here");
data.put("country", "Country here");            
data.put("latitude", Double.toString(eventLat));
data.put("longitude", Double.toString(eventLng));

data.put("privacy", eventVisibility);

我将纬度坐标硬编码为 59.2101,经度坐标硬编码为 18.0401。

在 facebook Graph API 上发帖后,我得到一个包含事件 id 的 id。然后,当我通过访问 https://graph.facebook 在浏览器中看到包含有关该事件的信息的 JSON 时。 com/XXXXX,其中 XXXXX 是活动新创建的 ID,我可以看到场地的坐标不是我之前设置的坐标,而是不同的坐标,这些坐标与地理编码为该活动返回的坐标相对应。具体城市和国家。 显然,Facebook 正在根据提供的街道、城市和国家/地区进行自己的地理编码/反向地理编码,并忽略发送的坐标。

所以问题是,有谁知道 Facebook 到底如何对待场地的创建,哪些是必填字段,以及是否有任何方法可以覆盖它设置的坐标并使用我传递给 facebook 的坐标?

任何帮助将不胜感激。

I'm working on an application on Android that creates events on facebook. I am facing a strange problem and I could use some help.

Facebook's API at http://developers.facebook.com/docs/reference/api/event/ is not helpful at all since it doesn't clarify what is needed and what is the dependence for each set of values.

First, I create an event by setting values for the fields: owner id, name, start_time, end_time, location, city, state, country, latitude, longitude and privacy.
I do it like that :

data.put("owner", myId);

data.put("name", eventName + "1");
data.put("description", eventDescription);
data.put("start_time", eventStartTime);
data.put("end_time", eventEndTime);
data.put("location", eventLocation);

//data.put("venue", eventLocation);
//data.put("street", "Street here");
data.put("city", "City here"); 
data.put("state", "State here");
data.put("country", "Country here");            
data.put("latitude", Double.toString(eventLat));
data.put("longitude", Double.toString(eventLng));

data.put("privacy", eventVisibility);

I have hardcoded the coordinates to be 59.2101 for latitude and 18.0401 for longitude.

After a make a post at facebook Graph API, I get back an id containing the event's id. When I then see the JSON that contains the info about that event at the browser by going to https://graph.facebook.com/XXXXX where XXXXX is the event's newly created id and I can see that the coordinates of the venue are not the ones that I had previously set but different ones which are the ones that correspond to those that geocode returns for the specific city and country.
Obviously, Facebook is doing its own geocoding/reverse geocoding based on the provided street, city and country and ignores the coordinates that are sent.

So the question is, does anyone know how exactly Facebook treats the creation of a venue, which are the required fields and if there is any way to override the coordinates that it sets and use the those I pass to facebook ?

Any help will be greatly appreciated.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文