createLocationMessage
功能介绍
说明
创建位置消息,包含所在位置的经纬度和描述。
注意
经纬度需要自行获取。
- iOS
 - Android
 - Flutter
 - uni-app
 - Browser/Electron/MiniProgram
 - React-Native
 - Unity
 
函数原型
 Future<Message> createLocationMessage({
    required double latitude,
    required double longitude,
    required String description,
    String? operationID,
  })
输入参数
| 参数名称 | 参数类型 | 是否必填 | 描述 | 
|---|---|---|---|
| description | String | 是 | 描述 | 
| latitude | double | 是 | 纬度 | 
| longitude | double | 是 | 经度 | 
返回结果
| 名称 | 类型 | 描述 | 
|---|---|---|
| ~ | Message | 成功返回 | 
代码示例
    Message msg = await OpenIM.iMManager.messageManager.createLocationMessage(latitude: latitude, longitude: longitude, description: description);
    //todo
函数原型
+ (OIMMessageInfo *)createLocationMessage:(NSString *)description
                                 latitude:(double)latitude
                                longitude:(double)longitude;
输入参数
| 参数名称 | 参数类型 | 是否必填 | 描述 | 
|---|---|---|---|
| description | NSString | 是 | 描述 | 
| latitude | double | 是 | 纬度 | 
| longitude | double | 是 | 经度 | 
返回结果
| 名称 | 类型 | 描述 | 
|---|---|---|
| message | OIMMessageInfo | 成功返回 | 
代码示例
OIMMessageInfo *message = [OIMMessageInfo createLocationMessage:@"" latitude:0 longitude:0];
函数原型
    public Message createLocationMessage(double latitude, double longitude, String description)
输入参数
| 参数名称 | 参数类型 | 是否必填 | 描述 | 
|---|---|---|---|
| description | String | 是 | 描述 | 
| latitude | double | 是 | 纬度 | 
| longitude | double | 是 | 经度 | 
返回结果
| 名称 | 类型 | 描述 | 
|---|---|---|
| ~ | Message | 成功返回 | 
代码示例
       Message Message= OpenIMClient.getInstance().messageManager.  createLocationMessage( latitude,  longitude,  description)
函数原型
IMSDK.createLocationMessage({
  description: string;
  longitude: number;
  latitude: number;
}, operationID?: string): Promise<WsResponse<MessageItem>>
输入参数
| 参数名称 | 参数类型 | 是否必填 | 描述 | 
|---|---|---|---|
| description | string | 是 | 位置描述 | 
| latitude | number | 是 | 纬度 | 
| longitude | number | 是 | 经度 | 
返回结果
| 参数名称 | 参数类型 | 描述 | 
|---|---|---|
| Promise.then() | Promise<WsResponse<MessageItem>> | 调用成功回调 | 
| Promise.catch() | Promise<WsResponse> | 调用失败回调 | 
代码示例
import { getSDK } from '@openim/wasm-client-sdk';
const IMSDK = getSDK();
// use in electron with ffi
// import { getWithRenderProcess } from '@openim/electron-client-sdk/lib/render';
// const { instance: IMSDK } = getWithRenderProcess();
// use in mini program
// import { getSDK } from '@openim/client-sdk';
// const IMSDK = getSDK();
IMSDK.createLocationMessage({
  description: '',
  longitude: 0,
  latitude: 0,
})
  .then(({ data }) => {
    // 调用成功
  })
  .catch(({ errCode, errMsg }) => {
    // 调用失败
  });
函数原型
IMSDK.asyncApi('createLocationMessage', operationID: string,{
  description: string;
  longitude: number;
  latitude: number;
}): Promise<MessageItem>
输入参数
| 参数名称 | 参数类型 | 是否必填 | 描述 | 
|---|---|---|---|
| operationID | string | 是 | 操作 ID,用于定位问题,保持唯一,建议用当前时间和随机数 | 
| description | string | 是 | 位置描述 | 
| latitude | number | 是 | 纬度 | 
| longitude | number | 是 | 经度 | 
返回结果
通过
openim-uniapp-polyfill包将函数 Promise 化,调用时需要使用then和catch判断并处理成功和失败回调。
| 参数名称 | 参数类型 | 描述 | 
|---|---|---|
| Promise.then() | Promise<MessageItem> | 调用成功回调 | 
| Promise.catch() | Promise<CatchResponse> | 调用失败回调 | 
代码示例
import IMSDK from 'openim-uniapp-polyfill';
IMSDK.asyncApi('createLocationMessage', IMSDK.uuid(), {
  description: '',
  longitude: 0,
  latitude: 0,
})
  .then((data) => {
    // 调用成功
  })
  .catch(({ errCode, errMsg }) => {
    // 调用失败
  });
函数原型
OpenIMSDKRN.createLocationMessage({
  description: string,
  longitude: number,
  latitude: number,
}, operationID: string): Promise<MessageItem>
输入参数
| 参数名称 | 参数类型 | 是否必填 | 描述 | 
|---|---|---|---|
| description | string | 是 | 位置描述 | 
| latitude | number | 是 | 纬度 | 
| longitude | number | 是 | 经度 | 
| operationID | string | 是 | 操作 ID,用于定位问题,保持唯一,建议用当前时间和随机数 | 
返回结果
| 参数名称 | 参数类型 | 描述 | 
|---|---|---|
| Promise.then() | Promise<MessageItem> | 调用成功回调 | 
| Promise.catch() | Promise<CatchResponse> | 调用失败回调 | 
代码示例
import OpenIMSDKRN from "open-im-sdk-rn";
OpenIMSDKRN.createLocationMessage({
  description: '',
  longitude: 0,
  latitude: 0,
}, 'operationID')
  .then((data) => {
    // 调用成功
  })
  .catch(({ errCode, errMsg }) => {
    // 调用失败
  });