Search categories, packages and repositories

Package detailsv1.0.3

here_maps_webservice

Flutter Package to provide Here Maps Web Services API wrapper that serve different purposes from search, to geocoding.

30-day downloads
25
Likes
18
Pub points
35

Install package

flutter pub add here_maps_webservice

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

A Flutter package that wraps Here Maps Web Services APIs, enabling developers to integrate location-based functionalities such as search, geocoding, and reverse geocoding into their apps. It simplifies access to Here Maps' robust mapping and location data services with a clean Dart interface. The package is ideal for applications requiring accurate address resolution, place discovery, or map-related queries. It supports seamless integration with Flutter projects via pub.dev.

Use cases

  • Geocoding addresses to coordinates
  • Reverse geocoding coordinates to addresses
  • Searching for places and points of interest
  • Integrating location data in maps
  • Building address pickers with autocomplete

Key features

  • Simple API wrapper for Here Maps
  • Supports geocoding and reverse geocoding
  • Place search functionality
  • Easy integration with Flutter
  • Lightweight and focused on core services

Suitable for

  • Apps needing accurate geolocation
  • Developers using Here Maps APIs
  • Location-aware applications
  • Address input with suggestions
  • Map-based services requiring place data

Considerations

  • Requires Here Maps API credentials
  • Limited to web services (no offline support)
  • Depends on network connectivity
  • No built-in map UI rendering
  • Platform-specific behavior may vary

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

Here

here_maps_webservice

pub package

About

here_maps_webservice provides Here Maps Web Services API wrapper that serve different purposes from search, to geocoding.

Usage

Add here_maps_webserviceas a dependency in your pubspec.yaml

 dependencies:
  flutter:
    sdk: flutter
  here_maps_webservice: 1.0.2

Run flutter pub get in the terminal and import import 'package:here_maps_webservice/here_maps.dart'

Availabel APIs

Generate API KEY

Go to https://developer.here.com/ and create a new account if you don't have one. Create a new project and select Freemium Plan. Under the REST section of your project, click on Create API key.

Example

Nearby Places
    import 'package:here_maps_webservice/here_maps.dart';
    import 'package:location/location.dart' as l; 
    import 'package:flutter/services.dart';
    
    var currentLocation;
    var location = new l.Location();
    List<dynamic> _nearbyPlaces=[]; 

    try {
      currentLocation = await location.getLocation();
      }on PlatformException catch (error) {
      if (error.code == 'PERMISSION_DENIED') {
        print("Permission Dennied");
      }
    }
    
    HereMaps(apiKey: "your apiKey")
          .exploreNearbyPlaces( lat: currentLocation.latitude, lon: currentLocation.longitude,offset: 10)
          .then((response) {
              setState(() {
                  _nearbyPlaces.addAll(response['results']['items']);
              });
          });

Popular Places
    import 'package:here_maps_webservice/here_maps.dart';
    import 'package:location/location.dart' as l; 
    import 'package:flutter/services.dart';
    
    var currentLocation;
    var location = new l.Location();
    List<dynamic> _explorePopularPlace = []; 

    try {
      currentLocation = await location.getLocation();
      }on PlatformException catch (error) {
      if (error.code == 'PERMISSION_DENIED') {
        print("Permission Dennied");
      }
    }
    
    HereMaps(apiKey: "your apiKey")
          .explorePopularPlaces(
              lat: currentLocation.latitude,
              lon: currentLocation.longitude,
              offset: 10)
          .then((response) {
        setState(() {
          _explorePopularPlace.addAll(response['results']['items']);
        });
      });

Geocoding Autocomplete
     import 'package:here_maps_webservice/here_maps.dart';
     
     List<dynamic> _suggestion = [];
     
     HereMaps(apiKey: "your apiKey")
           .geoCodingAutoComplete(query: "YourQuery")
           .then((response) {
         setState(() {
           _suggestion.addAll(response['suggestions']);
         });
       });
Geocoding
    import 'package:here_maps_webservice/here_maps.dart';
    
    Map<String, dynamic> latLon = Map();
    
    HereMaps(apiKey: "your apiKey")
        .geoCode(searchText: _searchController.text)
        .then((response) {
      setState(() {
        latLon = response['Response']['View'][0]['Result'][0]['Location']
            ['DisplayPosition'];
      });
    });
Reverse Geocoding
    import 'package:here_maps_webservice/here_maps.dart';
    import 'package:location/location.dart' as l; 
    import 'package:flutter/services.dart';
    
    var currentLocation;
    var location = new l.Location();

    try {
      currentLocation = await location.getLocation();
      }on PlatformException catch (error) {
      if (error.code == 'PERMISSION_DENIED') {
        print("Permission Dennied");
      }
    }
    
    Map<String,dynamic> response = HereMaps(apiKey: "your apiKey")
      .reverseGeoCode(lat: currentLocation.latitude, lon: currentLocation.longitude)

TODO

  • Add all the parameters in the existing APIs
  • Add tests
  • Make Model class for exisitng APIs
  • Add routing APIs

Feature Requests and Issues

Please file feature requests and bugs at the issue tracker

Contributing

We would love to see you contribute to here_maps_webservice. Do check out our Contributing Guidelines.

Categories

Dependencies

Dependency list 2 items

Source repository

Projects using this package

No data available yet.