Quickstart Guide

Get up and running in minutes. Native SDKs for every platform.

1

Create an account

Sign up for free and get your API key from the dashboard.

2

Install the SDK

Add the SDK to your project using your package manager.

3

Initialize the map

Create a map instance with your API key and configuration.

4

Add data layers

Enable parcels, POIs, terrain, or satellite imagery.

Choose Your Platform

Native SDKs with full TypeScript support and comprehensive documentation

JavaScript

Vanilla JS or any framework

Installation
npm install @mapsfordevelopers/js
Quick Example
import { MapsForDevelopers } from '@mapsfordevelopers/js'

const map = new MapsForDevelopers({
  apiKey: 'YOUR_API_KEY',
  container: 'map',
  center: [-95.37, 29.76],
  zoom: 12,
  layers: ['parcels', 'pois']
})

// Add click handler for parcels
map.on('click', 'parcels', (e) => {
  const parcel = e.features[0]
  console.log('Owner:', parcel.properties.owner)
  console.log('Value:', parcel.properties.assessed_value)
})

React

React 18+ with hooks

Installation
npm install @mapsfordevelopers/react
Quick Example
import { Map, ParcelLayer, POILayer } from '@mapsfordevelopers/react'

export default function MyMap() {
  const handleParcelClick = (parcel) => {
    console.log('Selected:', parcel.properties)
  }

  return (
    <Map
      apiKey="YOUR_API_KEY"
      center={[-95.37, 29.76]}
      zoom={12}
    >
      <ParcelLayer onClick={handleParcelClick} />
      <POILayer categories={['restaurant', 'hospital']} />
    </Map>
  )
}

React Native

iOS and Android

Installation
npm install @mapsfordevelopers/react-native
Quick Example
import { MapView, ParcelLayer } from '@mapsfordevelopers/react-native'

export default function App() {
  return (
    <MapView
      apiKey="YOUR_API_KEY"
      initialRegion={{
        latitude: 29.76,
        longitude: -95.37,
        zoom: 12,
      }}
    >
      <ParcelLayer
        onPress={(parcel) => {
          Alert.alert('Parcel', parcel.properties.address)
        }}
      />
    </MapView>
  )
}

iOS (Swift)

Swift Package Manager

Installation
.package(url: "https://github.com/mapsfordevelopers/ios-sdk")
Quick Example
import MapsForDevelopers

class MapViewController: UIViewController {
    var mapView: MFDMapView!

    override func viewDidLoad() {
        super.viewDidLoad()

        mapView = MFDMapView(frame: view.bounds)
        mapView.apiKey = "YOUR_API_KEY"
        mapView.setCenter(CLLocationCoordinate2D(
            latitude: 29.76,
            longitude: -95.37
        ), zoom: 12)

        mapView.addLayer(.parcels)
        mapView.delegate = self
        view.addSubview(mapView)
    }
}

Android (Kotlin)

Gradle dependency

Installation
implementation "com.mapsfordevelopers:android-sdk:1.0.0"
Quick Example
class MapActivity : AppCompatActivity() {
    private lateinit var mapView: MFDMapView

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        mapView = MFDMapView(this).apply {
            apiKey = "YOUR_API_KEY"
            setCenter(LatLng(29.76, -95.37), zoom = 12)
            addLayer(Layer.PARCELS)

            setOnParcelClickListener { parcel ->
                Toast.makeText(
                    context,
                    "Owner: ${parcel.owner}",
                    Toast.LENGTH_SHORT
                ).show()
            }
        }
        setContentView(mapView)
    }
}

Flutter

Cross-platform

Installation
flutter pub add mapsfordevelopers
Quick Example
import 'package:mapsfordevelopers/mapsfordevelopers.dart';

class MyMap extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MFDMap(
      apiKey: 'YOUR_API_KEY',
      initialCenter: LatLng(29.76, -95.37),
      initialZoom: 12,
      layers: [
        ParcelLayer(
          onTap: (parcel) {
            showDialog(
              context: context,
              builder: (_) => AlertDialog(
                title: Text(parcel.address),
                content: Text('Value: $${parcel.assessedValue}'),
              ),
            );
          },
        ),
      ],
    );
  }
}

All SDKs Include

TypeScript Definitions

Full type safety and autocomplete support

Offline Support

Download and cache tiles for offline use

Custom Styling

Full control over map appearance

Geocoding Built-in

Address search and reverse lookup

Event Handling

Click, hover, and gesture callbacks

Performance Optimized

Lazy loading and efficient rendering

Start building today

Free tier includes 1,000 requests per day. No credit card required.