首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Node.js:如何在字典中查找同名的不同城市?

Node.js:如何在字典中查找同名的不同城市?
EN

Stack Overflow用户
提问于 2019-09-04 07:32:58
回答 1查看 268关注 0票数 2

上下文:我正在构建一个Node.js应用程序,它需要跟踪城市中活跃用户的数量。

在服务器端,可以将城市名称映射到城市中的活动用户数量。例如,"Las Vegas" : 5。但是,对于同名的不同城市,如Newport、WANewport、RI,由于密钥重复,服务器无法正确更新活动用户计数。

将状态添加到键中不起作用,因为这是一个特定于美国的解决方案(e.x )。[city name]-[state])和将国家添加到密钥中也不起作用(e.x。[city-name]-[country]),因为在一个国家,这并不包括同名的不同城市。

我已经研究过在键中嵌入纬度和经度数据,但这可能是不可能使用的,因为城市边界变化很大。问题是,我可以确保相同名称的不同城市以不同格式的键出现在字典中,比如city-[longNum]-[latNum]。客户端,我可以得到城市名称、经度和纬度坐标,但很明显,客户端的坐标与城市坐标不完全相同,因此无法使用city-[longNum]-[latNum]格式在服务器字典中正确定位客户端的城市。

如果客户机在一个重复的城市中,是否有任何方法从字典/映射中定位客户端的正确城市?我正在考虑使用Redis的地理空间索引,但我不确定这是否适用于这个问题。

EN

回答 1

Stack Overflow用户

发布于 2019-09-04 07:55:57

这是关于如何设计城市存储城市名称的策略,而不是使用字典的问题。

您可以将城市的信息放置在如下结构中,并将其序列化。

代码语言:javascript
复制
{
  "country": "USA",
  "name": "Newport",
  "subdivision": "WA",
}

您可以使用更多字段,其中一些字段可能是空的,这取决于其他字段。就像在一些国家,你不储存分支机构。

作为另一种选择,您可以重新设计客户端,使用城市的某种唯一标识符来使用查询信息。并从服务器上查询它们的文本名称。但这取决于在地图中数据是如何表示的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57783535

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档