JSQMessagesViewController отправка местоположения не загружается - PullRequest
0 голосов
/ 10 июня 2018

Примечание: это не копия этого вопроса: отправить местоположение с помощью JSQLocationMediaItem

Я уже пробовал использовать код из ответа на этой странице, и результаты не изменились,Моя ошибка такая же, как ошибка, показанная в этом вопросе, но решение этого вопроса мне не помогло.

Вот мой код:

let loc: JSQLocationMediaItem = JSQLocationMediaItem()
// Assume that cllocation is a proppert location.
// I have already confirmed this by printing cllocation.location to the console.
loc.setLocation(cllocation, withCompletionHandler: {
    // This is a incoming message
    loc.appliesMediaViewMaskAsOutgoing = false
    // Adding the JSQMessage to my array. Assume that all information given is correct.
    self.JSQMessages[self.JSQMessages.count - 1].append(JSQMessage(senderId: "2", senderDisplayName: self.chatWithUser.username, date: message.messageDate, media: loc))
    self.collectionView.reloadData()
})

Что происходит, когда мой чатПузырь показывает, как будто он получает, но он имеет UIActivityIndicatorView в середине, и он просто показывает это навсегда.На самом деле карта никогда не загружается.

1 Ответ

0 голосов
/ 11 июня 2018

Я нашел ответ на это, преобразовав код из этого ответа Показать LocationMediaItem в JSQMessagesViewController , чтобы быстро.Мой код теперь выглядит так для всех, кому он нужен в будущем:

let loc: JSQLocationMediaItem = JSQLocationMediaItem()
loc.appliesMediaViewMaskAsOutgoing = false
self.JSQMessages[self.JSQMessages.count - 1].append(JSQMessage(senderId: "2", senderDisplayName: self.chatWithUser.username, date: message.messageDate, media: loc))
loc.setLocation(cllocation, withCompletionHandler: {
    self.collectionView.reloadData()
    self.scrollToBottom(animated: true)
})
...