{"id":2516,"date":"2017-01-30T20:09:53","date_gmt":"2017-01-30T20:09:53","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=2516"},"modified":"2025-06-13T20:15:24","modified_gmt":"2025-06-14T03:15:24","slug":"getting-started-with-geojson-couchbase-net-and-google-maps","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/ko\/getting-started-with-geojson-couchbase-net-and-google-maps\/","title":{"rendered":"GeoJSON, Couchbase, .NET \ubc0f Google \uc9c0\ub3c4 \uc2dc\uc791\ud558\uae30"},"content":{"rendered":"<div class=\"paragraph\">\n<p><em>\uc774 \uae00\uc740 Calvin Allen\uc758 \uac8c\uc2a4\ud2b8 \uac8c\uc2dc\ubb3c\uc785\ub2c8\ub2e4. Calvin\uc740 \uc624\ud558\uc774\uc624\uc8fc \ucf5c\ub7fc\ubc84\uc2a4\uc5d0\uc11c \ube44\uc988\ub2c8\uc2a4 \ubb38\uc81c\ub97c \ud574\uacb0\ud560 \ubfd0\ub9cc \uc544\ub2c8\ub77c \uc608\uc0b0\uacfc \uc2dc\uac04\uc5d0 \ub9de\ucdb0 \uc0ac\uc6a9\ud558\uae30 \uc26c\uc6b4 \uc18c\ud504\ud2b8\uc6e8\uc5b4\ub97c \uc124\uacc4\ud558\ub294 \uac83\uc744 \uc990\uae30\ub294 .NET \uac1c\ubc1c\uc790\uc785\ub2c8\ub2e4. \uadf8\ub294 \uc18c\ud504\ud2b8\uc6e8\uc5b4\ub97c \uc124\uacc4\ud558\uc9c0 \uc54a\uc744 \ub54c\ub294 \ub354 \ub098\uc740 \uc18c\ud504\ud2b8\uc6e8\uc5b4 \uac1c\ubc1c\uc790\uac00 \ub418\ub294 \ubc29\ubc95\uc744 \ubc30\uc6b0\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uc774\uac83\uc740 \uadf8\uc5d0\uac8c \ub2e8\uc21c\ud55c \uc9c1\uc5c5\uc774 \uc544\ub2c8\ub77c \ub77c\uc774\ud504\uc2a4\ud0c0\uc77c\uc774\uae30\ub3c4 \ud569\ub2c8\ub2e4.<\/em><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><em>\uce98\ube48\uc758 \uac8c\uc2dc\ubb3c\uc744 \ud314\ub85c\uc6b0\ud558\uc5ec <a href=\"https:\/\/github.com\/CalvinAllen\/geojson-with-couchbase-and-dotnet\">\uc18c\uc2a4 \ucf54\ub4dc\uc640 GitHub\ub97c \ud655\uc778\ud569\ub2c8\ub2e4.<\/a> \uadf8\ub9ac\uace0 <a href=\"https:\/\/www.couchbase.com\/blog\/ko\/download\/?utm_source=blogs&amp;utm_medium=link&amp;utm_campaign=blogs\">\ucd5c\uc2e0 \uac1c\ubc1c\uc790 \ud504\ub9ac\ubdf0 \ub9b4\ub9ac\uc2a4 \ub2e4\uc6b4\ub85c\ub4dc\ud558\uae30<\/a>.<\/em><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>GeoJSON\uc774\ub780 \ubb34\uc5c7\uc778\uac00\uc694? <a href=\"https:\/\/geojson.org\/\">GeoJSON.org<\/a> \ub85c \uc815\uc758\ud569\ub2c8\ub2e4:<br \/>\n\"\uc9c0\ub9ac\uc801 \ub370\uc774\ud130 \uad6c\uc870\ub97c \ub2e4\uc591\ud558\uac8c \uc778\ucf54\ub529\ud558\uae30 \uc704\ud55c \ud615\uc2dd\uc785\ub2c8\ub2e4.\"<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\uadf8\ub807\ub2e4\uba74 \uc774\uac83\uc774 \uc2e4\uc81c\ub85c \ubb34\uc5c7\uc744 \uc758\ubbf8\ud560\uae4c\uc694? \uae30\ubcf8\uc801\uc73c\ub85c \uc9c0\ub9ac\uc801 \uac1d\uccb4\ub97c \uc815\uc758\ud558\uae30 \uc704\ud574 JSON \uad6c\uc870\ub97c \uc0ac\uc6a9\ud558\ub294 \ud45c\uc900 \ud615\uc2dd\uc785\ub2c8\ub2e4. \uc774\ub7ec\ud55c '\uc9c0\ub9ac\uc801 \uac1c\uccb4'\ub294 \ub2e8\uc21c\ud55c '\uc810'\uc5d0\uc11c\ubd80\ud130 '\ub2e4\uac01\ud615'\uacfc \uac19\uc740 \ubcf5\uc7a1\ud55c \uac1c\uccb4\uae4c\uc9c0 \ub2e4\uc591\ud55c \ud56d\ubaa9\uc774 \ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\ub2e4\uc74c\uc740 '\ub514\ub098\uac13 \uc81c\ub3c4'\uc5d0 \ub300\ud55c '\uc9c0\ub3c4\uc0c1\uc758 \uc9c0\uc810'\uc758 \uac04\ub2e8\ud55c \uc608\uc785\ub2c8\ub2e4:<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight decode:true\"><code class=\"language-JavaScript\">{\r\n  \"type\": \"FeatureCollection\",\r\n  \"features\": [\r\n    {\r\n      \"type\": \"Feature\",\r\n      \"geometry\": {\r\n        \"type\": \"Point\",\r\n        \"coordinates\": [\r\n          125.6,\r\n          10.1\r\n        ]\r\n      },\r\n      \"properties\": { }\r\n    }\r\n  ]\r\n}<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>\uc774\uc81c \ubc30\uacbd \uc774\uc57c\uae30\ub97c \ub2e4 \ub4e4\uc5c8\uc73c\ub2c8 \"\uc65c GeoJSON\uc774 \ud544\uc694\ud55c\uac00\uc694?\"\ub77c\uace0 \uc9c8\ubb38\ud558\uc2e4 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. \uac04\ub2e8\ud55c \ub300\ub2f5\uc740 \ud604\uc7ac Google \uc9c0\ub3c4\uc640 \uac19\uc740 \ub2e4\uc591\ud55c \ub9e4\ud551 \uae30\uc220\uc5d0\uc11c \uc9c0\uc6d0\ub418\ub294 \ud45c\uc900\uc774\uae30 \ub54c\ubb38\uc785\ub2c8\ub2e4. \ub370\uc774\ud130\uac00 \uc774\ubbf8 GeoJSON \ud615\uc2dd\uc73c\ub85c \ub418\uc5b4 \uc788\uc73c\uba74 \ub2e4\uc74c\uacfc \uac19\uc740 \ub370\uc774\ud130\ub97c \uc81c\uacf5\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <strong>\uc9c1\uc811<\/strong> \ub97c Google \uc9c0\ub3c4\uc5d0 \ucd94\uac00\ud558\uace0 \uc124\uba85\ub41c \ub300\ub85c \uac1c\uccb4\ub97c \ub80c\ub354\ub9c1\ud558\uba74 \ub429\ub2c8\ub2e4. \uc774\ub807\uac8c \ud558\uba74 '\uc9c1\uc811' \ud615\uc2dd\uc744 \ub9cc\ub4e4 \ud544\uc694\uac00 \uc5c6\uc744 \ubfd0\ub9cc \uc544\ub2c8\ub77c \ub2e4\ub978 \uc81c\uacf5\uc5c5\uccb4\uc5d0\uc11c\ub3c4 \uc774\ubbf8 \uc774\ub97c \uc9c0\uc6d0\ud558\uace0 \uc788\uc73c\ubbc0\ub85c \uc6d0\ud558\ub294 \ub300\ub85c \ud65c\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\ucf54\ub4dc\ub97c \uc0b4\ud3b4\ubd05\uc2dc\ub2e4!<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\uc774 \uae00\uc5d0\uc11c\ub294 .NET MVC \uc560\ud50c\ub9ac\ucf00\uc774\uc158, Couchbase(\ucee4\ubba4\ub2c8\ud2f0) \uc11c\ubc84(\ubc0f .NET SDK), Google \uc9c0\ub3c4\ub97c \uc0ac\uc6a9\ud558\uc5ec GeoJSON \ud615\uc2dd\uc744 \uc2dc\uc5f0\ud560 \uc608\uc815\uc774\ubbc0\ub85c \uc774 \ubaa8\ub4e0 \uc720\ud2f8\ub9ac\ud2f0\uc5d0 \ub300\ud55c \uc2e4\ubb34 \uc9c0\uc2dd\uc774 \uc788\ub2e4\uace0 \uac00\uc815\ud574\uc57c \ud569\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\uc774\ub7ec\ud55c \ud56d\ubaa9\uc744 \uc218\ud589\ud558\ub294 \ubc29\ubc95\uc744 \uc124\uba85\ud558\ub294 \ub2e4\ub978 \ud29c\ud1a0\ub9ac\uc5bc\/\uae00\uc774 \ub9ce\uc774 \uc788\uc73c\ubbc0\ub85c MVC \ud504\ub85c\uc81d\ud2b8\ub97c \ub9cc\ub4dc\ub294 \ubc29\ubc95\uc774\ub098 Couchbase \uc124\uce58\/\uad6c\uc131 \ubc29\ubc95\uc5d0 \ub300\ud574\uc11c\ub294 \uc790\uc138\ud788 \uc124\uba85\ud558\uc9c0 \uc54a\uaca0\uc2b5\ub2c8\ub2e4. <a href=\"https:\/\/www.couchbase.com\/blog\/ko\/facet\/Author\/Matthew+Groves\/\">\ub9e4\ud29c \uadf8\ub85c\ube0c\uc2a4 \uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \ube14\ub85c\uadf8<\/a>.<br \/>\n\uc9c0\uae08 \uc5b8\uae09\ud560 \ud55c \uac00\uc9c0\ub294 \uc81c\uac00 Couchbase \ubc84\ud0b7\uc744 \"\uae30\ub2a5\"\uc774\ub77c\uace0 \ubd80\ub974\uace0, \ub85c\ub9c8 \uc8fc\ubcc0\uc758 \ub2e4\uac01\ud615\uc5d0 \ub300\ud55c \ubb38\uc11c\uc640 \ub514\ub098\uac13 \uc81c\ub3c4\uc5d0 \ub300\ud55c \uc810(\uc704\uc640 \uac19\uc774)\uc774 \uc788\ub294 \ubb38\uc11c \ub450 \uac1c\ub97c \ubbf8\ub9ac \ub85c\ub4dc\ud574 \ub193\uc558\ub2e4\ub294 \uac83\uc785\ub2c8\ub2e4. \uc774 \ub450 json \ud30c\uc77c\uc740 \uc774 \uae00\uc758 \ub4b7\ubd80\ubd84\uc5d0\uc11c \ub9c1\ud06c\ud560 github \ub9ac\ud3ec\uc9c0\ud1a0\ub9ac\uc5d0\uc11c \ucc3e\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Visual Studio\uc5d0\uc11c \uc0c8 MVC \uc6f9\uc0ac\uc774\ud2b8\uac00 \ub85c\ub4dc\ub41c \uc0c1\ud0dc\uc5d0\uc11c NuGet \ud328\ud0a4\uc9c0 \uad00\ub9ac\uc790 \ucf58\uc194\uc744 \uc5f4\uace0 \ub2e4\uc74c \uba85\ub839\uc744 \uc785\ub825\ud558\uc5ec Couchbase .NET SDK\ub97c \ub85c\ub4dc\ud569\ub2c8\ub2e4:<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre>Install-Package couchbasenetclient<\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>Couchbase .NET SDK \uc124\uce58\uac00 \uc644\ub8cc\ub418\uba74 \ub2e4\uc74c \uba85\ub839\uc744 \uc2e4\ud589\ud558\uc5ec geojson \ub77c\uc774\ube0c\ub7ec\ub9ac\ub97c \uc124\uce58\ud569\ub2c8\ub2e4:<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre>Install-Package geojson.net<\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>\uccab \ubc88\uc9f8 \ud328\ud0a4\uc9c0\uc778 \"couchbasenetclient\"\ub294 GeoJSON \ubb38\uc11c\ub97c \uad00\ub9ac\ud558\uae30 \uc704\ud574 \ub85c\uceec Couchbase \uc11c\ubc84\uc640 \ud1b5\uc2e0\ud558\ub294 \ub370 \uc0ac\uc6a9\ub429\ub2c8\ub2e4. \uc774\uac83\uc740 Couchbase \ud300\uc5d0\uc11c \uc0dd\uc131\/\uc9c0\uc6d0\ud558\ub294 \ub77c\uc774\ube0c\ub7ec\ub9ac\uc785\ub2c8\ub2e4. \ub2e4\uc74c\uc73c\ub85c \"geojson.net\"\uc740 GeoJSON \ubb38\uc11c\ub97c \uc0dd\uc131\/\uc77d\uae30 \uc704\ud55c \ub3c4\uc6b0\ubbf8 \ub77c\uc774\ube0c\ub7ec\ub9ac\uc785\ub2c8\ub2e4. \ub0b4\ubd80\uc801\uc73c\ub85c, geojson.net \ub77c\uc774\ube0c\ub7ec\ub9ac\ub294 \ub77c\uc774\ube0c\ub7ec\ub9ac\uac00 \uc81c\uacf5\ud558\ub294 .NET \uc720\ud615\uc758 json \uc9c1\ub82c\ud654\/\uc5ed\uc9c1\ub82c\ud654\ub97c \uc704\ud574 JSON.Net\uc744 \ud65c\uc6a9\ud569\ub2c8\ub2e4. \uc774 \ud328\ud0a4\uc9c0\/\ub77c\uc774\ube0c\ub7ec\ub9ac\ub97c \uc0ac\uc6a9\ud558\uc9c0 \uc54a\uace0 \uc9c1\uc811 \uc720\ud615\uc744 \uad00\ub9ac\ud560 \uc218\ub3c4 \uc788\uc9c0\ub9cc, \uac04\ub2e8\ud558\uac8c \uc720\uc9c0\ud558\uae30 \uc704\ud574 \uc800\ub294 \uc774 \ub77c\uc774\ube0c\ub7ec\ub9ac\ub97c \ud65c\uc6a9\ud558\uae30\ub85c \ud588\uc2b5\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\uac00\uc7a5 \uba3c\uc800 \ud574\uc57c \ud560 \uc77c\uc740 \ucee8\ud2b8\ub864\ub7ec\ub97c \uc5f0\uacb0\ud558\ub294 \uac83\uc785\ub2c8\ub2e4. \ud504\ub85c\uc81d\ud2b8\uc5d0 \uc774\ubbf8 \uc874\uc7ac\ud558\ub294 \"HomeController\"\ub97c \uc7ac\uc0ac\uc6a9\ud558\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\uba3c\uc800 \ubc84\ud0b7\uc744 \uc800\uc7a5\ud558\ub294 \ub370 \uc0ac\uc6a9\ud560 \uc0dd\uc131\uc790\ub97c \ucd94\uac00\ud558\uaca0\uc2b5\ub2c8\ub2e4:<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight decode:true\"><code class=\"language-C#\">public class HomeController : Controller {\r\n\r\n    private readonly IBucket _bucket;\r\n\r\n    public HomeController() {\r\n        _bucket = ClusterHelper.GetBucket(\"features\");\r\n    }\r\n\r\n}<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>\uc774\uc81c \uc138 \uac1c\uc758 \uc5d4\ub4dc\ud3ec\uc778\ud2b8\uac00 \ud544\uc694\ud569\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"olist arabic\">\n<ol class=\"arabic\">\n<li>\ubaa8\ub4e0 \uae30\ub2a5 \ubaa9\ub85d \ubcf4\uae30<\/li>\n<li>\uc9c0\ub3c4 \ud398\uc774\uc9c0\uc5d0 \ub300\ud55c \uac04\ub2e8\ud55c \ub77c\uc6b0\ud305 \uc5ed\ud560\uc744 \ud560 \uac83\uc785\ub2c8\ub2e4(\ubb34\uc2a8 \ub9d0\uc778\uc9c0 \uc54c \uc218 \uc788\uc744 \uac83\uc785\ub2c8\ub2e4).<\/li>\n<li>\ub9c8\uc9c0\ub9c9\uc73c\ub85c Google \uc9c0\ub3c4 API\uac00 \uc9c1\uc811 \ud638\ucd9c\ud558\uc5ec \uae30\ub2a5\uc5d0 \ub300\ud55c JSON\uc744 \uac00\uc838\uc624\ub294 \uac83\uc785\ub2c8\ub2e4.<\/li>\n<\/ol>\n<\/div>\n<div class=\"paragraph\">\n<p>\uc138 \uac00\uc9c0 \ubaa8\ub450 \uc5ec\uae30\uc5d0 \uc788\uc2b5\ub2c8\ub2e4:<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\uccab \ubc88\uc9f8\ub294 \ub0b4 Couchbase \ubc84\ud0b7\uc5d0 \uc788\ub294 \uc804\uccb4 \uae30\ub2a5 \ubaa9\ub85d\uc744 \ubc18\ud658\ud558\ub294 \uc791\uc5c5\uc785\ub2c8\ub2e4. \uc774\uac83\uc740 \uae30\ub2a5 ID\ub97c \ubb38\uc790\uc5f4 \ubaa9\ub85d\uc73c\ub85c \uac00\uc838\uc624\ub294 \uac04\ub2e8\ud55c N1QL \ucffc\ub9ac\uc77c \ubfd0\uc785\ub2c8\ub2e4. (\uc800\ub294 \ubaa9\ub85d \ud398\uc774\uc9c0\uc5d0 \uc788\ub294 \uae30\ub2a5\uc758 ID\uc5d0\ub9cc \uad00\uc2ec\uc774 \uc788\uc2b5\ub2c8\ub2e4.)<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight decode:true\"><code class=\"language-C#\">public ActionResult Features() {\r\n\tvar request = QueryRequest.Create(\"SELECT META().id as `id` FROM `features` as f\");\r\n\r\n\trequest.ScanConsistency(ScanConsistency.RequestPlus);\r\n\r\n\tvar featureIds = _bucket\r\n\t\t\t.Query&lt;dynamic&gt;(request)\r\n\t\t\t.Rows\r\n\t\t\t.Select(x =&gt; x.id.ToString())\r\n\t\t\t.ToList();\r\n\r\n\treturn View(featureIds);\r\n}<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>\ubaa9\ub85d \ud398\uc774\uc9c0\uc5d0\uc11c \ud0d0\uc0c9\ud558\ub294 \ub3d9\uc548 \uc0ac\uc6a9\uc790\uac00 \ud074\ub9ad\ud55c \uc694\uccad\ub41c \uae30\ub2a5\uc758 ID\ub97c \ubcf4\uc720\ud558\uae30 \uc704\ud574 \uc0ac\uc6a9\ud558\ub294 \uac04\ub2e8\ud55c \ub77c\uc6b0\ud305 \ubc29\ubc95\uc785\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight decode:true\"><code class=\"language-C#\">public ActionResult MapFeature(string id) {\r\n    ViewBag.FeatureId = id;\r\n    return View();\r\n}<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>\ub9c8\uc9c0\ub9c9\uc73c\ub85c, \uc774 \uba54\uc11c\ub4dc\ub294 MapFeature \ud398\uc774\uc9c0\uc758 Google Maps API\ub97c \ud1b5\ud574 \ud638\ucd9c\ub418\uc5b4 \uc0ac\uc6a9\uc790\uac00 \ub9e4\ud551\ud558\ub824\ub294 \uae30\ub2a5\uc758 JSON\uc744 \uac00\uc838\uc635\ub2c8\ub2e4(\ub2e4\uc2dc, geojson.net \ub77c\uc774\ube0c\ub7ec\ub9ac\uc758 FeatureCollection \uac1d\uccb4\ub97c \uc0ac\uc6a9\ud558\uba70, \ub77c\uc774\ube0c\ub7ec\ub9ac\uc5d0 \uc790\uccb4 \uc9c1\ub82c\ud654\uae30\uac00 \ud568\uaed8 \uc81c\uacf5\ub418\ub294 Json.Net\uc744 \uc0ac\uc6a9\ud558\uc5ec \ud574\ub2f9 \uac1d\uccb4\ub97c \uc9c1\ub82c\ud654\ud569\ub2c8\ub2e4).<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight decode:true\"><code class=\"language-C#\">public ContentResult GetFeatureJson(string id) {\r\n    var feature = _bucket.Get&lt;FeatureCollection&gt;(id).Value;\r\n\tvar json = JsonConvert.SerializeObject(feature);\r\n\r\n\treturn Content(json, \"application\/json\");\r\n}<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>\uc774\uc81c \ubcf4\uae30 \ud398\uc774\uc9c0 \uc790\uccb4\ub85c \uc774\ub3d9\ud569\ub2c8\ub2e4(\ub450 \uac1c\ub9cc \uc788\uc2b5\ub2c8\ub2e4).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>'\uae30\ub2a5' \ud398\uc774\uc9c0\uc5d0\uc11c\ub294 Couchbase \ubc84\ud0b7\uc5d0 \uc788\ub294 \uae30\ub2a5\uc758 \ubaa9\ub85d\uc77c \ubfd0\uc774\uba70, \uac01 \uae30\ub2a5 ID\ub97c \uc21c\uc11c \uc5c6\uc774 \ub098\uc5f4\ub41c \ubaa9\ub85d \uc548\uc5d0 \uc788\ub294 \uc791\uc5c5 \ub9c1\ud06c\ub85c \ucd9c\ub825\ud569\ub2c8\ub2e4:<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight decode:true\"><code class=\"language-C#\">@model List&lt;string&gt;\r\n\r\n&lt;h2&gt;\ud2b9\uc9d5&lt;\/h2&gt;\r\n\r\n&lt;ul&gt;\r\n\t@foreach (var feature in Model) {\r\n\t\t&lt;li&gt;@Html.ActionLink(feature, &quot;MapFeature&quot;, &quot;Home&quot;, new { id = feature }, null)&lt;\/li&gt;\r\n\t}\r\n&lt;\/ul&gt;<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>\ub9c8\uc9c0\ub9c9 \ud398\uc774\uc9c0\uc778 \ub9f5\uae30\ub2a5\uc740 '\ubb34\uac70\uc6b4 \uc791\uc5c5'\uc744 \ud558\ub294 \ud398\uc774\uc9c0\uc785\ub2c8\ub2e4:<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight decode:true\"><code class=\"language-C#\">&lt;h2&gt;Map Feature&lt;\/h2&gt;\r\n@{\r\n\tvar id = ViewBag.FeatureId;\r\n}\r\n\r\n<\/code><\/pre>\n<div id=\"map_wrap\"><code class=\"language-C#\"><code class=\"language-C#\"><\/code><\/code><\/p>\n<div id=\"map\" style=\"width: 100%;height: 100%\"><\/div>\n<p><code class=\"language-C#\"><br \/>\n<\/div><\/p>\n<p>\t$(function () {<br \/>\n\t\tvar map = new google.maps.Map(document.getElementById('map'), {<br \/>\n\t\t\t\uc90c: 6<br \/>\n\t\t});<\/p>\n<p>\t\tmap.data.loadGeoJson('\/Home\/GetFeatureJson\/@id');<\/p>\n<p>\t\t\/\/\ub8e8\ud504\uc758 \uac01 \uae30\ub2a5\uc5d0 \ub300\ud55c \ucf5c\ubc31 - \ub9c8\uc9c0\ub9c9 \uae30\ub2a5\uc774 \uc2b9\ub9ac\ud569\ub2c8\ub2e4.<br \/>\n\t\t\ud568\uc218 forEachGeometry(feature) {<br \/>\n\t\t\tfeature.getGeometry().forEachLatLng(resetCenter);<br \/>\n\t\t};<\/p>\n<p>\t\t\/\/\uac01 \uc9c0\uc624\uba54\ud2b8\ub9ac\uc5d0\uc11c \uc704\ub3c4\uc640 \uacbd\ub3c4\ub97c \uac00\uc838\uc640 \ub9f5\uc758 \uc911\uc2ec\uc810\uc744 \uc7ac\uc124\uc815\ud569\ub2c8\ub2e4 - \ub9c8\uc9c0\ub9c9 \uc9c0\uc624\uba54\ud2b8\ub9ac\uac00 \uc2b9\ub9ac - \uc644\uc804\ud788 \ube44\ud6a8\uc728\uc801\uc785\ub2c8\ub2e4.<br \/>\n\t\t\ud568\uc218 resetCenter(latLng) {<br \/>\n\t\t\tmap.setCenter(latLng);<br \/>\n\t\t};<\/p>\n<p>\t\t\/\/\uc9c0\ub3c4\uc5d0 \uae30\ub2a5\uc774 \ucd94\uac00\ub420 \ub54c\ub9c8\ub2e4 \uceec\ub809\uc158\uc744 \ubc18\ubcf5 - \uc644\uc804\ud788 \ube44\ud6a8\uc728\uc801\uc774\uc9c0\ub9cc \uc544\uc774\ub514\uc5b4\ub97c \uc81c\uacf5\ud574\uc57c \ud569\ub2c8\ub2e4.<br \/>\n\t\tmap.data.addListener('addfeature', function (e) {<br \/>\n\t\t\tmap.data.forEach(forEachGeometry);<br \/>\n\t\t});<\/p>\n<p>\t});<\/p>\n<p><a href=\"https:\/\/maps.googleapis.com\/maps\/api\/js?key=YOUR_API_KEY\">https:\/\/maps.googleapis.com\/maps\/api\/js?key=YOUR_API_KEY<\/a><\/code><\/div>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>\uc774 \ud398\uc774\uc9c0\uac00 \ub85c\ub4dc\ub418\uba74 \uc0ac\uc6a9\uc790\uac00 \ud074\ub9ad\ud55c \uae30\ub2a5\uc758 ID\ub97c \uac00\uc838\uc628 \ub2e4\uc74c(ViewBag\uc5d0 \uc800\uc7a5\ub428) HTML \ub9c8\ud06c\uc5c5\uc73c\ub85c \ubc14\ub85c \uc774\ub3d9\ud569\ub2c8\ub2e4. Google \uc9c0\ub3c4 API\uac00 \uc9c0\ub3c4\/\uae30\ub2a5\uc744 \ud45c\uc2dc\ud558\ub294 \ub370 \uc0ac\uc6a9\ud558\ub294 \ud50c\ub808\uc774\uc2a4\ud640\ub354\uc778 \ub450 \uac1c\uc758 div(\ud2b9\ud788 \ub0b4\ubd80\uc758 div)\ub97c \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\uadf8\ub7f0 \ub2e4\uc74c \uc790\ubc14\uc2a4\ud06c\ub9bd\ud2b8\ub85c \uc774\ub3d9\ud569\ub2c8\ub2e4. \uc774 \uc911 \ub300\ubd80\ubd84\uc740 \ub9e4\uc6b0 \uae30\ubcf8\uc801\uc774\uba70 <a href=\"https:\/\/developers.google.com\/maps\/documentation\/javascript\/\">Google\uc774 \uc81c\uacf5\ud558\ub294 \ubb38\uc11c\uc5d0\uc11c \ubc14\ub85c<\/a>\uc5d0 \ucd94\uac00\ud55c \uba87 \uac00\uc9c0 \ubcfc\ud2b8\uc628 \ubc29\ubc95\uc744 \uc81c\uc678\ud558\uace0\ub294 \ubaa8\ub450 \ub3d9\uc77c\ud569\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\uac00\uc7a5 \uba3c\uc800 \ud560 \uc77c\uc740 \uc9c0\ub3c4 \uac1d\uccb4\ub97c '\uc0c8\ub85c \ub9cc\ub4e4\uae30'\ud558\uace0, \uc0ac\uc6a9\ud560 DOM \uc694\uc18c\uc640 \uae30\ubcf8 \uc90c \ub808\ubca8\uc744 \uc9c0\uc815\ud558\ub294 \uac83\uc785\ub2c8\ub2e4. \uadf8\ub7f0 \ub2e4\uc74c Google \uc9c0\ub3c4\uc758 \uae30\ubcf8 \uc81c\uacf5 \uba54\uc11c\ub4dc\uc778 loadGeoJson\uc744 \uc0ac\uc6a9\ud558\uc5ec Couchbase \ubc84\ud0b7\uc5d0\uc11c JSON\uc744 \uac00\uc838\uc624\ub294 \ub85c\uceec URL\uc744 \uc0ac\uc6a9\ud558\uace0 \uc788\uc74c\uc744 \uc54c \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\ub2e4\uc74c \uba87 \uac00\uc9c0 \ubc29\ubc95\uc740 \ub370\ubaa8\ub97c \uc704\ud574 \uac04\ub2e8\ud788 \ucd94\uac00\ud55c \uac83\uc73c\ub85c, \ub9e4\uc6b0 \ube44\ud6a8\uc728\uc801\uc774\uae30 \ub54c\ubb38\uc5d0 \ud504\ub85c\ub355\uc158 \ud658\uacbd\uc5d0\uc11c\ub294 \uc0ac\uc6a9\ud558\uc9c0 \uc54a\ub294 \uac83\uc774 \uc88b\uc2b5\ub2c8\ub2e4. \uc774 \ubc29\ubc95\uc740 \ub9f5\uc5d0 \ub85c\ub4dc\ud55c \ub370\uc774\ud130\uc5d0\uc11c \ub9c8\uc9c0\ub9c9\uc73c\ub85c \ucc3e\uc740 \uc704\ub3c4\/\uacbd\ub3c4 \uac1c\uccb4\ub85c \ub9f5\uc758 \uc911\uc2ec\uc744 \uc7ac\uc124\uc815\ud569\ub2c8\ub2e4. \uc815\ud655\ud55c \ub85c\uc9c1\uc740 \uc544\ub2c8\uc9c0\ub9cc \ub80c\ub354\ub9c1\ud558\ub294 \uae30\ub2a5 \uc704\uc5d0 \uc9c0\ub3c4\ub97c '\uc911\uc559'\uc5d0 \ubc30\uce58\ud569\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\ub9c8\uc9c0\ub9c9\uc73c\ub85c \uc218\ud589\ud558\ub294 \uc791\uc5c5\uc740 CDN\uc5d0\uc11c Google Maps API\ub97c \ub85c\ub4dc\ud558\ub294 \uac83\uc785\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\uc774\uac83\uc740 Couchbase \uc778\uc2a4\ud134\uc2a4\uc5d0\uc11c GeoJSON \ub370\uc774\ud130\ub97c \uc800\uc7a5\/\ucffc\ub9ac\ud558\uace0 \uc774\ub97c \ub9e4\ud551 \uc81c\ud488\uc5d0 \ub85c\ub4dc\ud558\ub294 \ub9e4\uc6b0 \uac04\ub2e8\ud55c \uc608\uc81c\uc785\ub2c8\ub2e4. \uc800\ub294 Google \uc9c0\ub3c4\ub97c \uc120\ud0dd\ud588\uc9c0\ub9cc MapBox\uc640 \uac19\uc740 \ub2e4\ub978 \uc81c\uacf5\uc5c5\uccb4\ub3c4 GeoJSON\uc744 \uc9c0\uc6d0\ud569\ub2c8\ub2e4.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\ub9c8\uc9c0\ub9c9\uc73c\ub85c \uc608\uc81c \uc804\uccb4\ub97c \ubcf4\ub824\uba74 \uc5ec\uae30\ub97c \ud074\ub9ad\ud558\uc138\uc694, <a href=\"https:\/\/github.com\/CalvinAllen\/geojson-with-couchbase-and-dotnet\">\uae43\ud5c8\ube0c\uc5d0\uc11c \ucf54\ub4dc\ub97c \ud655\uc778\ud558\uc138\uc694.<\/a>. \ub9f5\uae30\ub2a5.cshtml \ud398\uc774\uc9c0\ub97c \uc218\uc815\ud558\uc5ec \uace0\uc720\ud55c Google \uc9c0\ub3c4 API \ud0a4\ub97c \ud3ec\ud568\ud558\uae30\ub9cc \ud558\uba74 \ub429\ub2c8\ub2e4( <a href=\"https:\/\/developers.google.com\/maps\/documentation\/javascript\/\"> https:\/\/developers.google.com\/maps\/documentation\/javascript\/<\/a>\ub97c \ud074\ub9ad\ud558\uace0 Google \uacc4\uc815\uc73c\ub85c \ub85c\uadf8\uc778\ud55c \ub2e4\uc74c \uc624\ub978\ucabd \uc0c1\ub2e8\uc758 '\ud0a4 \ubc1b\uae30' \ubc84\ud2bc\uc744 \ud074\ub9ad\ud558\uba74 \ub429\ub2c8\ub2e4. \ub354 \uad81\uae08\ud55c \uc810\uc774 \uc788\uc73c\uba74 \uc5b8\uc81c\ub4e0\uc9c0 \ubb38\uc758\ud574 \uc8fc\uc138\uc694 - \uc81c \ud2b8\uc704\ud130\ub294 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4. <a href=\"https:\/\/twitter.com\/CalvinAllen_\">CalvinAllen_<\/a>\uc5d0\uc11c \ud655\uc778\ud558\uac70\ub098, \uc81c \uac1c\uc778 \ube14\ub85c\uadf8 <a href=\"https:\/\/www.calvinallen.net\/\">https:\/\/www.calvinallen.net<\/a>.<\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>This is a guest post by Calvin Allen. Calvin is a .NET developer in Columbus, OH that enjoys designing software that not only solves business problems, but it easy to use, on budget, and on time. If he isn\u2019t designing [&hellip;]<\/p>","protected":false},"author":71,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1811,10126,1816,9327],"tags":[1803,1543],"ppma_author":[8937],"class_list":["post-2516","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dotnet","category-asp-dotnet","category-couchbase-server","category-javascript","tag-google-maps","tag-javascript"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.8 (Yoast SEO v25.8) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>GeoJSON, Couchbase, .NET &amp; Google Maps - The Couchbase Blog<\/title>\n<meta name=\"description\" content=\"Learn through a very simple example of storing\/querying GeoJSON data from a Couchbase instance &amp;loading it into a mapping product.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/ko\/getting-started-with-geojson-couchbase-net-and-google-maps\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Getting Started with GeoJSON, Couchbase, .NET, and Google Maps\" \/>\n<meta property=\"og:description\" content=\"Learn through a very simple example of storing\/querying GeoJSON data from a Couchbase instance &amp;loading it into a mapping product.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/ko\/getting-started-with-geojson-couchbase-net-and-google-maps\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2017-01-30T20:09:53+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T03:15:24+00:00\" \/>\n<meta name=\"author\" content=\"Matthew Groves\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@mgroves\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Matthew Groves\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/getting-started-with-geojson-couchbase-net-and-google-maps\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/getting-started-with-geojson-couchbase-net-and-google-maps\/\"},\"author\":{\"name\":\"Matthew Groves\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3929663e372020321b0152dc4fa65a58\"},\"headline\":\"Getting Started with GeoJSON, Couchbase, .NET, and Google Maps\",\"datePublished\":\"2017-01-30T20:09:53+00:00\",\"dateModified\":\"2025-06-14T03:15:24+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/getting-started-with-geojson-couchbase-net-and-google-maps\/\"},\"wordCount\":1203,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/getting-started-with-geojson-couchbase-net-and-google-maps\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"keywords\":[\"Google Maps\",\"javascript\"],\"articleSection\":[\".NET\",\"ASP.NET\",\"Couchbase Server\",\"JavaScript\"],\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/getting-started-with-geojson-couchbase-net-and-google-maps\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/getting-started-with-geojson-couchbase-net-and-google-maps\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/getting-started-with-geojson-couchbase-net-and-google-maps\/\",\"name\":\"GeoJSON, Couchbase, .NET & Google Maps - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/getting-started-with-geojson-couchbase-net-and-google-maps\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/getting-started-with-geojson-couchbase-net-and-google-maps\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2017-01-30T20:09:53+00:00\",\"dateModified\":\"2025-06-14T03:15:24+00:00\",\"description\":\"Learn through a very simple example of storing\/querying GeoJSON data from a Couchbase instance &loading it into a mapping product.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/getting-started-with-geojson-couchbase-net-and-google-maps\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/getting-started-with-geojson-couchbase-net-and-google-maps\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/getting-started-with-geojson-couchbase-net-and-google-maps\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"width\":1800,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/getting-started-with-geojson-couchbase-net-and-google-maps\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Getting Started with GeoJSON, Couchbase, .NET, and Google Maps\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ko-KR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3929663e372020321b0152dc4fa65a58\",\"name\":\"Matthew Groves\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/ba51e6aacc53995c323a634e4502ef54\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g\",\"caption\":\"Matthew Groves\"},\"description\":\"Matthew D. Groves is a guy who loves to code. It doesn't matter if it's C#, jQuery, or PHP: he'll submit pull requests for anything. He has been coding professionally ever since he wrote a QuickBASIC point-of-sale app for his parent's pizza shop back in the 90s. He currently works as a Senior Product Marketing Manager for Couchbase. His free time is spent with his family, watching the Reds, and getting involved in the developer community. He is the author of AOP in .NET, Pro Microservices in .NET, a Pluralsight author, and a Microsoft MVP.\",\"sameAs\":[\"https:\/\/crosscuttingconcerns.com\",\"https:\/\/x.com\/mgroves\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/ko\/author\/matthew-groves\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"GeoJSON, Couchbase, .NET & Google Maps - The Couchbase Blog","description":"Learn through a very simple example of storing\/querying GeoJSON data from a Couchbase instance &loading it into a mapping product.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.couchbase.com\/blog\/ko\/getting-started-with-geojson-couchbase-net-and-google-maps\/","og_locale":"ko_KR","og_type":"article","og_title":"Getting Started with GeoJSON, Couchbase, .NET, and Google Maps","og_description":"Learn through a very simple example of storing\/querying GeoJSON data from a Couchbase instance &loading it into a mapping product.","og_url":"https:\/\/www.couchbase.com\/blog\/ko\/getting-started-with-geojson-couchbase-net-and-google-maps\/","og_site_name":"The Couchbase Blog","article_published_time":"2017-01-30T20:09:53+00:00","article_modified_time":"2025-06-14T03:15:24+00:00","author":"Matthew Groves","twitter_card":"summary_large_image","twitter_creator":"@mgroves","twitter_misc":{"Written by":"Matthew Groves","Est. reading time":"6\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/getting-started-with-geojson-couchbase-net-and-google-maps\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/getting-started-with-geojson-couchbase-net-and-google-maps\/"},"author":{"name":"Matthew Groves","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3929663e372020321b0152dc4fa65a58"},"headline":"Getting Started with GeoJSON, Couchbase, .NET, and Google Maps","datePublished":"2017-01-30T20:09:53+00:00","dateModified":"2025-06-14T03:15:24+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/getting-started-with-geojson-couchbase-net-and-google-maps\/"},"wordCount":1203,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/getting-started-with-geojson-couchbase-net-and-google-maps\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","keywords":["Google Maps","javascript"],"articleSection":[".NET","ASP.NET","Couchbase Server","JavaScript"],"inLanguage":"ko-KR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/getting-started-with-geojson-couchbase-net-and-google-maps\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/getting-started-with-geojson-couchbase-net-and-google-maps\/","url":"https:\/\/www.couchbase.com\/blog\/getting-started-with-geojson-couchbase-net-and-google-maps\/","name":"GeoJSON, Couchbase, .NET & Google Maps - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/getting-started-with-geojson-couchbase-net-and-google-maps\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/getting-started-with-geojson-couchbase-net-and-google-maps\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2017-01-30T20:09:53+00:00","dateModified":"2025-06-14T03:15:24+00:00","description":"Learn through a very simple example of storing\/querying GeoJSON data from a Couchbase instance &loading it into a mapping product.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/getting-started-with-geojson-couchbase-net-and-google-maps\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/getting-started-with-geojson-couchbase-net-and-google-maps\/"]}]},{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.couchbase.com\/blog\/getting-started-with-geojson-couchbase-net-and-google-maps\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","width":1800,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/getting-started-with-geojson-couchbase-net-and-google-maps\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Getting Started with GeoJSON, Couchbase, .NET, and Google Maps"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \ube14\ub85c\uadf8","description":"NoSQL \ub370\uc774\ud130\ubca0\uc774\uc2a4, Couchbase","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ko-KR"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \ube14\ub85c\uadf8","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3929663e372020321b0152dc4fa65a58","name":"\ub9e4\ud29c \uadf8\ub85c\ube0c\uc2a4","image":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/ba51e6aacc53995c323a634e4502ef54","url":"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g","caption":"Matthew Groves"},"description":"Matthew D. Groves\ub294 \ucf54\ub529\uc744 \uc88b\uc544\ud558\ub294 \uc0ac\ub78c\uc785\ub2c8\ub2e4. C#, jQuery, PHP \ub4f1 \ubb34\uc5c7\uc774\ub4e0 \ud480 \ub9ac\ud018\uc2a4\ud2b8\ub97c \uc81c\ucd9c\ud560 \uc815\ub3c4\ub85c \ucf54\ub529\uc744 \uc88b\uc544\ud569\ub2c8\ub2e4. 90\ub144\ub300\uc5d0 \ubd80\ubaa8\ub2d8\uc758 \ud53c\uc790 \uac00\uac8c\ub97c \uc704\ud574 QuickBASIC POS \uc571\uc744 \ub9cc\ub4e0 \uc774\ud6c4\ub85c \uc804\ubb38\uc801\uc73c\ub85c \ucf54\ub529\uc744 \ud574\uc654\uc2b5\ub2c8\ub2e4. \ud604\uc7ac Couchbase\uc758 \uc120\uc784 \uc81c\ud488 \ub9c8\ucf00\ud305 \uad00\ub9ac\uc790\ub85c \uc77c\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uc5ec\uac00 \uc2dc\uac04\uc5d0\ub294 \uac00\uc871\uacfc \ud568\uaed8 \ucd95\uad6c \uacbd\uae30\ub97c \uad00\ub78c\ud558\uace0 \uac1c\ubc1c\uc790 \ucee4\ubba4\ub2c8\ud2f0\uc5d0 \ucc38\uc5ec\ud558\uba70 \uc2dc\uac04\uc744 \ubcf4\ub0c5\ub2c8\ub2e4. \uadf8\ub294 .NET\uc758 AOP, .NET\uc758 \ud504\ub85c \ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4, Pluralsight \uc800\uc790, Microsoft MVP\uc758 \uc800\uc790\uc774\uae30\ub3c4 \ud569\ub2c8\ub2e4.","sameAs":["https:\/\/crosscuttingconcerns.com","https:\/\/x.com\/mgroves"],"url":"https:\/\/www.couchbase.com\/blog\/ko\/author\/matthew-groves\/"}]}},"authors":[{"term_id":8937,"user_id":71,"is_guest":0,"slug":"matthew-groves","display_name":"Matthew Groves","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g","author_category":"","last_name":"Groves","first_name":"Matthew","job_title":"","user_url":"https:\/\/crosscuttingconcerns.com","description":"Matthew D. Groves\ub294 \ucf54\ub529\uc744 \uc88b\uc544\ud558\ub294 \uc0ac\ub78c\uc785\ub2c8\ub2e4.  C#, jQuery, PHP \ub4f1 \ubb34\uc5c7\uc774\ub4e0 \ud480 \ub9ac\ud018\uc2a4\ud2b8\ub97c \uc81c\ucd9c\ud560 \uc815\ub3c4\ub85c \ucf54\ub529\uc744 \uc88b\uc544\ud569\ub2c8\ub2e4.  90\ub144\ub300\uc5d0 \ubd80\ubaa8\ub2d8\uc758 \ud53c\uc790 \uac00\uac8c\ub97c \uc704\ud574 QuickBASIC POS \uc571\uc744 \ub9cc\ub4e0 \uc774\ud6c4\ub85c \uc804\ubb38\uc801\uc73c\ub85c \ucf54\ub529\uc744 \ud574\uc654\uc2b5\ub2c8\ub2e4.  \ud604\uc7ac Couchbase\uc758 \uc120\uc784 \uc81c\ud488 \ub9c8\ucf00\ud305 \uad00\ub9ac\uc790\ub85c \uc77c\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uc5ec\uac00 \uc2dc\uac04\uc5d0\ub294 \uac00\uc871\uacfc \ud568\uaed8 \ucd95\uad6c \uacbd\uae30\ub97c \uad00\ub78c\ud558\uace0 \uac1c\ubc1c\uc790 \ucee4\ubba4\ub2c8\ud2f0\uc5d0 \ucc38\uc5ec\ud558\uba70 \uc2dc\uac04\uc744 \ubcf4\ub0c5\ub2c8\ub2e4.  \uadf8\ub294 .NET\uc758 AOP, .NET\uc758 \ud504\ub85c \ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4, Pluralsight \uc800\uc790, Microsoft MVP\uc758 \uc800\uc790\uc774\uae30\ub3c4 \ud569\ub2c8\ub2e4."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts\/2516","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/users\/71"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/comments?post=2516"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts\/2516\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/media?parent=2516"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/categories?post=2516"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/tags?post=2516"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/ppma_author?post=2516"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}