UNPKG

@hmscore/react-native-hms-map

Version:
86 lines (79 loc) 2.16 kB
/* * Copyright 2020-2024. Huawei Technologies Co., Ltd. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License") * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { string, exact, oneOf, number, arrayOf, bool, func, oneOfType } from "prop-types"; import React, { Component } from "react"; import { requireNativeComponent } from "react-native"; import { PatternItemTypes, CapTypes, JointTypes } from "./constants"; class HMSPolylineView extends Component { constructor() { super(); } render() { return ( <RNHMSPolylineView {...this.props} ref={(el) => (this.polylineView = el)} /> ); } } HMSPolylineView.propTypes = { points: arrayOf( exact({ latitude: number.isRequired, longitude: number.isRequired, }), ), ColorValues: arrayOf(number), gradient:bool, clickable: bool, geodesic: bool, color: oneOfType([number, arrayOf(number)]), jointType: oneOf(Object.values(JointTypes)), pattern: arrayOf( exact({ type: oneOf(Object.values(PatternItemTypes)).isRequired, length: number, }), ), startCap: exact({ type: oneOf(Object.values(CapTypes)).isRequired, uri: string, hue: number, asset: string, file: string, path: string, refWidth: number, }), endCap: exact({ type: oneOf(Object.values(CapTypes)).isRequired, uri: string, hue: number, asset: string, file: string, path: string, refWidth: number, }), visible: bool, width: number, zIndex: number, onClick: func, }; const RNHMSPolylineView = requireNativeComponent( "HMSPolylineView", HMSPolylineView, ); export default HMSPolylineView;