How do i make the citys and towns?


how would i make something like this with all the citys/towns and assign theyr population and name to them

A Billboard GUI is a GUI that hovers over a part. You can achieve something like this if you’re crafty with them, I’d assume.

That’s just the first thing that I thought of.

I agree with @LamentedStar with using BillboardGui’s for the client interface.
So you would make a globe and then place Parts that represent towns & cities on the globe. Then inside those parts, place value objects like Population, which can be an IntValue. And maybe Name, which would be a StringValue.
As for scripting, you can just read them directly from the client and display them using BillboardGuis

i meant getting the city’s and putting them in the right position…

I’ve never tried it but maybe try downloading a world map with towns/cities marked on it. Then upload it as a Decal image to your experience and place it as a texture object on the globe part. But honestly that seems crude.

Another idea might be getting the longitude and latitude of the towns/cities and using trigonometry to position them on the globe part.

not to be rude but you do realize that this is scripting support right?

Before you jump the gun on that conclusion I’ll explain my understanding/perspective.
So you asked:
"
i meant getting the city’s and putting them in the right position…
"
So I responded with a couple of ways to possibly get the cities and put them in the right position on a globe or sphere.

Scripting support or not, I’m trying to address your problem.

Here’s an example of doing the longitude & latitude:

-- this code implies a spherical part named Globe inside Workspace
local long = 34.065270 -- up and down
local lat = -118.251112 -- left to right
local unitPos = Vector3.new(math.cos(lat), math.sin(lat), math.sin(long))
local globe = workspace.Globe
local city = Instance.new("Part")
city.Name = "Los Angles"
city.Size = Vector.new(0.5,0.5,0.5)
city.BrickColor = BrickColor.new("Really red")
city.CFrame = CFrame.new(unitPos*globe.Size.X*0.5 + globe.Position, globe.Position)
city.Parent = workspace

[1st Edit to make globe.Size.X into globe.Size.X*0.5]

ok sorry but how do i get all the city’s tho i want each city to be a unique part so texture wont work
edit: figured it out, no biggie your help was how i learned how to position them on a 2D map thanks