关于经度纬度获取城市的问题
我现在的需求是酱紫的:
我们的应用客户端现在有20几万的用户量,当应用每次启动时,都会上传该客户端的相关信息,其中包括这个客户端当前所在的位置,即经度和纬度信息,那么这些数据我们都存在数据库中,现在我们有个需求,就是调用了百度的云推送服务给客户端发送消息,现在的问题是:我想实现给某个城市(比如杭州)的所有用户发送消息,这个该怎么做啊?通过什么样的条件才能把这些用户筛选出来啊?求指教。。。
回复内容:
我现在的需求是酱紫的:
我们的应用客户端现在有20几万的用户量,当应用每次启动时,都会上传该客户端的相关信息,其中包括这个客户端当前所在的位置,即经度和纬度信息,那么这些数据我们都存在数据库中,现在我们有个需求,就是调用了百度的云推送服务给客户端发送消息,现在的问题是:我想实现给某个城市(比如杭州)的所有用户发送消息,这个该怎么做啊?通过什么样的条件才能把这些用户筛选出来啊?求指教。。。
百度和google地图的api都是可以通过反查查到gps的城市的。
百度的api:http://developer.baidu.com/map/webservice-geocoding.htm
google的api:https://developers.google.com/maps/documentation/geocoding/?hl=zh-cn
每次上传都去反查api,得出城市信息打上tag,把数据存入mongo。
百度云推送分组推送说明:http://developer.baidu.com/wiki/index.php?title=docs/cplat/push/scene
简单的方法就是新建个城市字段,然后所有的坐标都通过地图API获取地理位置存储。直接通过城市字段选取的话就非常简单了。虽然工作量很大,但是方便你以后筛选其它城市的用户。
其它的方法就是,由于无法获取城市的坐标范围,所以只能根据杭州的坐标“30°16′00″N 120°12′00″E” (via WikiPedia),杭州上下左城市的坐标(分别应该是嘉兴,临安,绍兴)获取到杭州的大概的坐标范围根据这个筛选一次数据库。给这些人发消息就稍微靠谱一点了。如果还要更加靠谱的话,可以对这些坐标进行一次具体城市的读取,然后排出掉。为了减少工作量,可以根据杭州的坐标中心和面积画一个大概的圆排掉一些肯定是杭州的坐标然后对剩下的进行具体城市读取。
其实吧。我觉得你该这样。
应用启动后,注册推送客户端tags添加城市拼音。比如注册tags[hangzhou,other_tag]。然后发送推送时,直接发送给所有包含hangzhou tag的client即可。
至于如何获取hangzhou这个东西。可以在上传记录的时候,服务器直接返回对应记录。
客户端启动时将坐标传到了服务器,服务器再处理一下,添加一个城市字段,百度Google都能轻松获得。不过百度不支持国外坐标。
这样就很方便处理了。
在客户端的下一个版本里,应该可以很轻松拿到城市坐标等各种地理信息,把城市也传过来,这样服务端就不必再用坐标去查询,直接入库。
必须用经纬度信息吗?那么可以用百度地图api获取经纬度所对应的的城市。
抑或更简单的通过当前ip地址判断用户所在地?百度地图亦有开放api。
http://developer.baidu.com/map/ip-location-api.htm

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

In diesem Kapitel werden wir die Umgebungsvariablen, die allgemeine Konfiguration, die Datenbankkonfiguration und die E-Mail-Konfiguration in CakePHP verstehen.

PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

Um in cakephp4 mit Datum und Uhrzeit zu arbeiten, verwenden wir die verfügbare FrozenTime-Klasse.

Um am Datei-Upload zu arbeiten, verwenden wir den Formular-Helfer. Hier ist ein Beispiel für den Datei-Upload.

In diesem Kapitel lernen wir die folgenden Themen im Zusammenhang mit dem Routing kennen.

CakePHP ist ein Open-Source-Framework für PHP. Es soll die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich vereinfachen. CakePHP basiert auf einer MVC-ähnlichen Architektur, die sowohl leistungsstark als auch leicht zu verstehen ist. Modelle, Ansichten und Controller gu

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

Der Validator kann durch Hinzufügen der folgenden zwei Zeilen im Controller erstellt werden.
