https://vk.com/dev/objects/message
Нужно парсить событие message.new и проверять вхождение "geo". Если "geo" есть в событии, то значит геолокация отправлена. Дальше нужно обрабатывать всё, что находится под ключом "geo".
Вот так выглядит сообщение без геолокации:
{
"type": "message_new",
"object": {
"date": 1562246807,
"from_id": 124239035,
"id": 18954,
"out": 0,
"peer_id": 124239035,
"text": "Сообщение без геолокации",
"conversation_message_id": 9652,
"fwd_messages": [
],
"important": false,
"random_id": 0,
"attachments": [
],
"is_hidden": false
},
"group_id": 175820014,
"secret": "test"
}
А вот сообщение с геолокацией:
{
"type": "message_new",
"object":
{
"date": 1562246801,
"from_id": 124239035,
"id": 18953,
"out": 0,
"peer_id": 124239035,
"text": "Сообщение с геолокацией",
"conversation_message_id": 9651,
"fwd_messages": [],
"important": false,
"random_id": 0,
"attachments": [],
"geo":
{
"type": "point",
"coordinates":
{
"latitude": 55.753228,
"longitude": 37.622511
},
"place":
{
"country": "Россия",
"city": "Москва",
"title": "Москва, Россия"
}
},
"is_hidden": false
},
"group_id": 175820014,
"secret": "test"
}