在显示地址时,我过去的大部分网站都限于美国.然而,在我正在进行的项目中,用户可以添加来自世界各地的活动.我的问题是如何处理地址在世界各地的不同显示方式.例如,City/State/Zip只是美国的事情.
我想我会改变根据所选国家显示的输入,但我不知道我应该怎么知道每个国家的地址.
想法?
情况:
我目前正在开发一个用户可以搜索城市的项目.要获得结果,我通过ajax使用此URL:
https://graph.facebook.com/search?q=**sundsvall**&type=adcity&country_list=**se**&access_token=
Run Code Online (Sandbox Code Playgroud)
当我向Facebook发送请求时,我收到这样的回复:
{
"data": [
{
"name": "Sundsvall, Sweden",
"key": 220260543,
"subtext": "Vasternorrlands Lan, Sweden"
},
{
"name": "Sundsvallen, Sweden",
"key": 220260542,
"subtext": "Jamtlands Lan, Sweden"
}
]
}
Run Code Online (Sandbox Code Playgroud)
从该响应中,我得到密钥并将其存储在我的数据库表中.
我的问题
我也想反过来,通过提供"密钥"获得"名称"和"子文本".你知道,"给我信息key = 220260543".
我知道我可以将名称和子文本存储在我的数据库中,但我更喜欢保留密钥.
谁知道这是否可能?怎么样?链接?我已经阅读了facebook开发文档,但还没有找到任何内容.
我正在寻找API /网络服务,以便检索给定城市附近的地标,兴趣点(及其GPS坐标)列表.我尝试了google地方,包括查询地方搜索并输入point_of_interest,但结果似乎并不令人满意.
例如,到巴黎,我需要一个答案:艾菲尔铁塔,凯旋门,香榭丽舍大街,......
你会建议我找到这样的信息.
我正在考虑使用正则表达式来限制城市名称(全球)中的标点符号。什么是具有相当包容性的白名单?
我在想:
(space)
. period
- hyphen
' apostrophe
Run Code Online (Sandbox Code Playgroud)
也在想逗号或斜线,但我没有任何例子。还有其他人吗?
我试图通过CLLocationManager使用纬度和经度获取地址,但它只返回州和国家名称,我也想要城市,我附加我的代码可以任何人告诉我,我怎么能改变我的代码以获得城市名称.Below是我的代码
- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
{
currentLocation = [locations objectAtIndex:0];
CLGeocoder *geocoder1 = [[CLGeocoder alloc] init];
NSLog(@"Detected Location : %f, %f", currentLocation.coordinate.latitude, currentLocation.coordinate.longitude);
//CLLocation *newLocation = [[CLLocation alloc]initWithLatitude:26.9260 longitude:75.8235];
CLLocation *newLocation = [[CLLocation alloc]initWithLatitude:currentLocation.coordinate.latitude longitude:currentLocation.coordinate.longitude];
[geocoder1 reverseGeocodeLocation:newLocation
completionHandler:^(NSArray *placemarks, NSError *error) {
if (error) {
NSLog(@"Geocode failed with error: %@", error);
return;
}
if (placemarks && placemarks.count > 0)
{
CLPlacemark *placemark = placemarks[0];
NSDictionary *addressDictionary =
placemark.addressDictionary;
NSLog(@"%@ ", addressDictionary);
NSString *address = [addressDictionary
objectForKey:(NSString *)kABPersonAddressStreetKey];
NSString *city …
Run Code Online (Sandbox Code Playgroud) 我有一个庞大的人员数据集及其位置数据.我的一个模块仅通过此数据集ONCE,并在我的数据库中生成一个表,以将位置数据映射到时区.该模块使用geocoders,tzwhere和puts.timezone.之后,每次管理员想要向这些人发送电子邮件时,我的Django应用程序使用该时区映射表来识别每个人的当前时间,并报告管理员是否不是发送电子邮件的好时机.
位置数据包括城市和州或国家/地区名称.
为此,我结合了以下四个库:
from datetime import datetime
from geopy import geocoders
from tzwhere import tzwhere
from pytz import timezone
Run Code Online (Sandbox Code Playgroud)
为了生成时区映射表,我的模块与以下示例代码类似:
g = geocoders.GoogleV3()
tz = tzwhere.tzwhere()
locationList = ["Sackville, Canada", "Romania", "Mannheim, Germany", "New Delhi, India", "Trier, Germany", "Basel, Switzerland", "Bruxelles/Brussel, Belgium"]
for location in locationList:
place, (lat, lng) = g.geocode(location)
timeZoneStr = tz.tzNameAt(lat, lng)
timeZoneObj = timezone(timeZoneStr)
# Store timeZoneObj in the timezone mapping table.
Run Code Online (Sandbox Code Playgroud)
然后,每次管理员想要发送电子邮件时,Django应用程序都会遍历每个人的时区并识别他/她所在地区的当前时间.示例代码如下:
# for each person:
# find the location and timezoneObj data for this …
Run Code Online (Sandbox Code Playgroud) 我的问题涉及在注册期间验证/规范用户对Country和'City'组合的输入.理想情况下,我想要的功能类似于OkCupid(http://www.okcupid.com/signup)注册页面,询问此问题.失去对City输入字段的关注会以某种方式验证输入,并且它非常好.我在澳大利亚乡村(流行音乐<6000)和芬兰的一个随意城镇尝试了一个乡村小镇,两者都得到了正确而快速的验证.
规范化/验证很重要,因为我想规范化用户生成的事件实体的"城市"字段,以允许匹配同一位置的用户.
从应用程序逻辑的角度来看这个验证是有意义的(我不想处理'NYC'='纽约市'='纽约,纽约'='纽约'的泥潭)和用户视角(了解用户位置的其他用户).
我正在使用PHP和jQuery,如果这有所不同,但此时的任何解决方案都比没有任何东西更有希望!
提前致谢!
编辑:解决了!Yahoo提供了PlaceMaker API - 自由格式的位置字符串解析!每天50,000个请求限制:
我正在寻找包含每个美国城市,州和邮政编码的任何类型的平面文件.我搜索过高和低,只能找到数据库 - 我很好用来创建平面文件 - 但我想我先在这里查看.
如果没有其他人有现成的解决方案,我将通过数据库解析并发布平面文件作为答案.
我需要这个的原因是为了ajax自动建议.YQL和其他免费的远程解决方案被证明是不一致的,最坏的情况是不可靠的.我也不想做那么多的数据库调用.
我正在建立一家只卖给一个城市的商店.我正在试图弄清楚如何将城市选项限制为预先填充的字段.
我已经限制了国家/地区,并使用以下代码functions.php
:
add_filter( 'default_checkout_country', 'change_default_checkout_country' );
add_filter( 'default_checkout_state', 'change_default_checkout_state' );
function change_default_checkout_country() {
return 'PK'; // country code
}
function change_default_checkout_state() {
return 'SD'; // state code
}
Run Code Online (Sandbox Code Playgroud)
我使用以下方法预先选择了州:
add_filter( 'woocommerce_states', 'bbloomer_custom_woocommerce_states' );
function bbloomer_custom_woocommerce_states( $states ) {
$states['PK'] = array(
'SD' => 'Sindh',
);
return $states;
}
Run Code Online (Sandbox Code Playgroud)
但是......现在来到这个城市,我迷失了.我尝试过使用$fields['billing']['billing_city']
以及$fields['billing']['billing_city']['value']
无济于事.
我希望客户仅限于卡拉奇.我对WooCommerce过滤器不太熟悉,所以我需要帮助才能实现这一目标.