
Security News
Axios Maintainer Confirms Social Engineering Attack Behind npm Compromise
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.
react-native-dgis
Advanced tools
A React Native library for integrating 2GIS Android/iOS SDK maps into your applications.
npm install react-native-dgis
# or
yarn add react-native-dgis
First, you need to obtain a dgissdk.key file from 2GIS Developer Portal.
Place the dgissdk.key file in your Android project's assets folder:
android/app/src/main/assets/dgissdk.key
Add the dgissdk.key file to your iOS project via Xcode
In your app's android/app/build.gradle file, add the 2GIS Maven repository before the dependencies block:
repositories {
google()
mavenCentral()
maven {
url "https://artifactory.2gis.dev/sdk-maven-release"
}
}
dependencies {
// ... your dependencies
}
Call DgisModule.init at the start of your app before using any map components:
import { DgisModule } from 'react-native-dgis';
// In your App component or entry point
useEffect(() => {
const initSdk = async () => {
try {
await DgisModule.init();
console.log('2GIS SDK initialized successfully');
} catch (error) {
console.error('Failed to initialize 2GIS SDK:', error);
}
};
initSdk();
}, []);
For more details on setup and troubleshooting, refer to the official 2GIS SDK documentation.
The main map component that displays the 2GIS map.
| Prop | Type | Required | Description |
|---|---|---|---|
style | StyleProp<ViewStyle> | No | Style object for the map container |
center | InitialRegion | No | Initial center position of the map |
onTap | (point: Point) => void | No | Callback fired when the map is tapped |
onLongTouch | (point: Point) => void | No | Callback fired when the map is long-pressed |
onMapLoaded | () => void | No | Callback fired when the map is fully loaded |
children | React.ReactNode | No | Child components (e.g., MarkerView) |
interface InitialRegion {
latitude: number; // Latitude coordinate
longitude: number; // Longitude coordinate
zoom?: number; // Zoom level (optional)
}
interface Point {
latitude: number; // Latitude coordinate
longitude: number; // Longitude coordinate
}
| Command | Parameters | Description |
|---|---|---|
fitAllMarkers | options?: { duration?: number } | Adjusts the map viewport to fit all markers. duration is animation time in ms. |
setZoom | zoom: number, duration?: number | Sets the map zoom level. duration defaults to 500ms. |
zoomIn | - | Increases the zoom level by one step |
zoomOut | - | Decreases the zoom level by one step |
A marker component to display pins/icons on the map.
| Prop | Type | Required | Description |
|---|---|---|---|
point | MarkerPoint | Yes | Geographic coordinates of the marker |
iconSource | ImageSourcePropType | No | Marker icon image |
anchor | MarkerAnchor | No | Anchor point of the icon (0-1 range for x and y) |
iconOpacity | number | No | Opacity of the marker icon (0-1) |
iconWidth | number | No | Width of the marker icon in pixels |
onPress | () => void | No | Callback fired when the marker is pressed |
interface MarkerPoint {
latitude: number; // Latitude coordinate
longitude: number; // Longitude coordinate
}
interface MarkerAnchor {
x: number; // Horizontal anchor (0 = left, 0.5 = center, 1 = right)
y: number; // Vertical anchor (0 = top, 0.5 = center, 1 = bottom)
}
| Command | Parameters | Description |
|---|---|---|
animatedMoveTo | coords: MarkerPoint, duration?: number | Animates the marker to new coordinates. duration defaults to 500ms. |
import React from 'react';
import { View, StyleSheet, Alert } from 'react-native';
import { DgisMapView, MarkerView, DgisModule } from 'react-native-dgis';
DgisModule.init();
const MARKER = { id: '1', title: 'Red Square', point: { latitude: 55.7539, longitude: 37.6208 } };
export function BasicMap() {
return (
<View style={styles.container}>
<DgisMapView
style={styles.map}
center={{
latitude: 55.7558,
longitude: 37.6173,
zoom: 12,
}}
onMapLoaded={() => console.log('Map loaded!')}
>
<MarkerView
key={MARKER.id}
point={MARKER.point}
iconSource={require('./assets/marker.png')}
anchor={{ x: 0.5, y: 1.0 }}
iconOpacity={1}
onPress={() => {
Alert.alert(
'Marker tap',
`Marker: ${MARKER.title}`
)
}}
/>
</DgisMapView>
</View>
);
}
const styles = StyleSheet.create({
container: { flex: 1 },
map: { flex: 1 },
});
MIT
Made with create-react-native-library
FAQs
2gis SDK integration for React Nativeor React Native
We found that react-native-dgis demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.

Security News
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.