Find your little escape.

From green hilltop viewpoints to the Arabian Sea, explore a few favourite corners of the Manipal–Udupi coast. Tap any marker to open its field note.

5 stopsCampus, nature, heritage and coast
~15 kmApproximate span from Manipal to Malpe
10 Nov 2026Document creation date

The map

The markers are interactive. Zoom in, switch between map and satellite view, or select a place from its popup.

places <- data.frame(
  name = c(
    "Manipal Institute of Technology",
    "End Point Park",
    "Manipal Lake",
    "Udupi Sri Krishna Matha",
    "Malpe Beach"
  ),
  type = c("Campus", "Viewpoint", "Nature", "Heritage", "Coast"),
  lat = c(13.351389, 13.36976, 13.34248, 13.33222, 13.36197),
  lng = c(74.792600, 74.78590, 74.78597, 74.74611, 74.69753),
  note = c(
    "A lively campus hub and the starting point for this mini-explorer.",
    "A green hilltop escape with wide views over the surrounding landscape.",
    "A peaceful waterside pause for a walk and a little quiet.",
    "A historic temple complex in the heart of Udupi.",
    "A sandy Arabian Sea shoreline for sunset colours and sea breeze."
  ),
  stringsAsFactors = FALSE
)

pal <- colorFactor(
  palette = c("#287a69", "#e09b45", "#4d91a5", "#9568a8", "#d66b55"),
  domain = places$type
)

popup_text <- sprintf(
  "<div style='min-width:190px'>
     <h4 style='margin:2px 0 6px;color:#17483f'>%s</h4>
     <span style='display:inline-block;background:#edf5f0;padding:3px 8px;border-radius:10px;font-size:11px'>%s</span>
     <p style='margin:9px 0 4px'>%s</p>
   </div>",
  htmlEscape(places$name), htmlEscape(places$type), htmlEscape(places$note)
)

leaflet(places) |>
  addProviderTiles(providers$CartoDB.Positron, group = "Light map") |>
  addProviderTiles(providers$Esri.WorldImagery, group = "Satellite") |>
  addCircleMarkers(
    lng = ~lng, lat = ~lat,
    radius = 9, color = ~pal(type), weight = 2,
    fillColor = ~pal(type), fillOpacity = 0.9,
    popup = popup_text, label = ~name
  ) |>
  addLegend(
    position = "bottomright", pal = pal, values = ~type,
    title = "Explore by type", opacity = 1
  ) |>
  addLayersControl(
    baseGroups = c("Light map", "Satellite"),
    options = layersControlOptions(collapsed = TRUE)
  ) |>
  fitBounds(
    lng1 = min(places$lng) - 0.012,
    lat1 = min(places$lat) - 0.012,
    lng2 = max(places$lng) + 0.012,
    lat2 = max(places$lat) + 0.012
  )

Five quick field notes

knitr::kable(
  places[, c("name", "type", "note")],
  col.names = c("Place", "Category", "Why stop here?"),
  align = c("l", "l", "l")
)
Place Category Why stop here?
Manipal Institute of Technology Campus A lively campus hub and the starting point for this mini-explorer.
End Point Park Viewpoint A green hilltop escape with wide views over the surrounding landscape.
Manipal Lake Nature A peaceful waterside pause for a walk and a little quiet.
Udupi Sri Krishna Matha Heritage A historic temple complex in the heart of Udupi.
Malpe Beach Coast A sandy Arabian Sea shoreline for sunset colours and sea breeze.

Make it your own

  • Add a marker for your favourite café, study spot or hidden viewpoint.
  • Change the colours in colorFactor() to create your own map palette.
  • Add more rows to the places data frame; the map and legend update automatically.

Take the scenic route.

A small map can turn familiar places into a new adventure. Happy exploring!

Created on 10 November 2026 using R Markdown and the Leaflet R package. Coordinates are approximate map points for orientation; check local access and conditions before visiting.

Data and tools

  • Interactive mapping: Leaflet for R
  • Basemap tiles: CartoDB Positron and Esri World Imagery
  • Place coordinates: OpenStreetMap-based map references and published location coordinates.